uniapp打包时提示read_media_images权限但是没有使用该怎么解决?

我在使用uniapp打包APK时,控制台提示需要read_media_images权限,但我的项目里根本没有用到相册或图片相关功能。查了manifest.json也没找到这个权限声明,请问这是从哪里引入的?该如何去除这个不必要的权限?

2 回复

在manifest.json的App权限配置中,手动删除read_media_images权限即可。或者检查是否引用了某些插件自动添加了该权限。


在 UniApp 打包时提示 read_media_images 权限但未实际使用,通常是因为项目中依赖的插件或模块默认申请了该权限。以下是解决方法:

步骤:

  1. 检查 manifest.json 文件

    • 打开项目根目录下的 manifest.json,检查 App权限配置permissions 字段,确保未手动添加 read_media_images 权限。如果存在,直接删除。
  2. 排查原生插件或模块

    • 如果使用了第三方原生插件(如相机、图片选择等),可能自动引入了该权限。在 manifest.jsonApp模块配置 中,检查并禁用不必要的模块(如 GalleryImagePicker)。
    • 如果未使用相关功能,尝试移除对应插件。
  3. 自定义权限配置(仅 Android)

    • manifest.json 中,通过 "android" 节点下的 "permissions" 字段显式移除权限:
      {
        "android": {
          "permissions": [
            "!android.permission.READ_MEDIA_IMAGES"
          ]
        }
      }
      
      添加 ! 前缀表示强制移除该权限。
  4. 检查 HBuilderX 版本

    • 更新 HBuilderX 到最新版,避免旧版本的工具链自动添加冗余权限。
  5. 重新打包

    • 修改配置后,清理项目并重新打包(菜单栏点击 发行原生App-云打包)。

注意事项:

  • 如果应用确实需要访问相册或媒体文件,请保留该权限,避免功能异常。
  • 此问题常见于 Android 平台,iOS 无需额外处理。

通过以上步骤,可有效移除未使用的权限,确保应用符合商店审核要求。

回到顶部