"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\"/>"
]
},
- 发布:2026-05-26 18:00
- 更新:2026-05-26 18:00
- 阅读:29
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 5.07
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: 华为mate70
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
hbuilder 可视化工具 强制移除的权限
hbuilder 可视化工具 强制移除的权限
预期结果:
通过谷歌权限校验
通过谷歌权限校验
实际结果:
谷歌拒绝
谷歌拒绝
bug描述:
按照文档配置了强制移除权限,打包aab包上传谷歌还是无法通过
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
好的,我们来评审一下这个 bug 反馈。
首先,从整体来看,这是一个非常有价值且描述相对清晰的反馈。它直击了许多开发者在发布安卓应用到 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配置了强制移除的权限,打包上架谷歌提示权限还在。