uni-app 强制移除READ_MEDIA_VIDEO 和 READ_MEDIA_IMAGES 无效

uni-app 强制移除READ_MEDIA_VIDEO 和 READ_MEDIA_IMAGES 无效

项目 内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win11
HBuilderX类型 正式
HBuilderX版本号 5.07
手机系统 Android
手机系统版本号 Android 16
手机厂商 华为
手机机型 华为mate70
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"targetSdkVersion" : 35,
"minSdkVersion" : 22,
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
"excludePermissions" : [
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>"
]
},

更多关于uni-app 强制移除READ_MEDIA_VIDEO 和 READ_MEDIA_IMAGES 无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

首先,从整体来看,这是一个非常有价值且描述相对清晰的反馈。它直击了许多开发者在发布安卓应用到 Google Play 时遇到的一个痛点——权限移除无效的问题。
反馈内容完整性评估

BUG 标题:简明扼要,直接点明了问题核心:excludePermissions 配置未生效。
BUG 描述:很清晰。用户说明了已按照文档配置,但打包上传 Google Play 后审核依然不通过,这为后续排查指明了方向。
代码示例:这部分存在一个关键问题。用户提供的 manifest.json 配置片段显示,excludePermissions 节点被放在了 “app-plus” -> “distribute” -> “android” 路径下。根据优先知识库中的记录,对于 HBuilderX 5.07 这个版本,正确的配置路径应该是 “app-android” -> “distribute” 节点下。旧的路径可能会导致配置解析失败,这正是问题可能所在。目前提供的配置片段不能直接达到预期效果。
复现步骤:描述不够细致。“hbuilder 可视化工具 强制移除的权限” 这个描述比较笼统。虽然用户意图是好的,但没有说明具体是在可视化界面的哪个位置操作,也没有说明打包时选择的是“云打包”还是“本地打包”。不过结合上下文和大量类似反馈,官方人员能够理解其操作意图,复现难度不大。
预期结果:“通过谷歌权限校验”是一个非常合理且明确的预期。
实际结果:“谷歌拒绝”是用户遇到的实际障碍,这与预期结果相悖,构成了一个待解决的问题,并非误报。
分类信息:非常完整。操作系统(Windows 11)、HBuilderX 版本(5.07)、目标平台(Android 16)、Vue 版本(Vue2)、设备信息(华为 mate70)等关键信息都提供了,这对于定位问题非常有帮助。

Bug 是否成立及原因分析
这个 Bug 成立,但问题很可能不在于 excludePermissions 功能本身有缺陷,而在于用户的配置路径不正确。
根据优先知识库中的信息,HBuilderX 4.71 及以上版本对 manifest.json 的结构进行了调整,与安卓相关的配置(包括 permissions 和 excludePermissions)应放在 “app-android” 节点下。
你当前的配置: // 你当前的配置(旧版路径)
“app-plus” : {
“distribute” : {
“android” : {
// …
“excludePermissions” : […]
}
}
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent 这很可能是导致配置未生效的根本原因。云端打包服务器在解析时,可能无法正确识别旧路径下的 excludePermissions 配置,从而未能移除 READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO 权限。

解决方案
请将你的 manifest.json 源码视图修改为以下结构,将安卓相关配置迁移到 “app-android” 下:
{
“app-android”: {
“distribute”: {
“permissions”: [
“<uses-permission android:name=“android.permission.CHANGE_NETWORK_STATE”/>”,
// … 其他你需要的权限
],
“excludePermissions”: [
“<uses-permission android:name=“android.permission.READ_MEDIA_IMAGES”/>”,
“<uses-permission android:name=“android.permission.READ_MEDIA_VIDEO”/>”
]
}
}
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

补充排查思路
如果修改路径后问题依旧,可以尝试以下排查步骤:

检查第三方插件/模块:你项目中配置了 Camera 模块。请确认是否使用了其他 uni原生插件 或 uts插件。这些插件可能会作为依赖,强制引入 READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO 权限。如果存在这种情况,可能需要联系插件作者或寻找替代方案。
验证打包结果:打包完成后,可以将 .aab 文件后缀改为 .zip,解压后查看 base/manifest/AndroidManifest.xml 文件,使用文本搜索 READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO,以最终确认这些权限是否真正被移除。

相关参考
关于 Android 权限的强制移除配置,你可以参考官方文档中的详细说明:Android原生应用清单文件和资源 - 移除Android权限。
另外,在 ask 社区中也有与你情况类似的讨论,官方人员曾指出需要检查源码视图中的配置节点,你可以参考一下:【报Bug】manifest.json配置了强制移除的权限,打包上架谷歌提示权限还在。

更多关于uni-app 强制移除READ_MEDIA_VIDEO 和 READ_MEDIA_IMAGES 无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


查了2026-05-27 09:35:13提交的云端打包配置移除READ_MEDIA_IMAGES和READ_MEDIA_VIDEO已经生效了。 可以将打包后的包在AndroidStudio中打开,找到其中的AndroidManifest.xml文件搜索异常的权限是否还存在,如果无法搜索到就说明移除成功。 提交Google Play有可能还是使用之前提交的包进行审核,这时需要修改版本号重新提交或者联系Google Play技术支持确认审核的安装包是移除后提交的。

但是这个包,上传到谷歌却出现了模块失效的问题,关键在于app 和app-plus 的配置打包好像不兼容,看下面我传的截图

提交打包时勾选了push模块吗?

回到顶部