uni-app x 为什么我配置了强制移除的权限,但是云打包后的APK 中还是存在 我已经明确移除的权限
- 发布:2026-05-19 16:26
- 更新:2026-05-19 17:21
- 阅读:55
excludePermissions 是按照哪种方式配置的?
-
3***@qq.com (作者)
uni-app x(https://doc.dcloud.net.cn/uni-app-x/collocation/manifest-android.html#excludepermissions
) ,我刚刚创建了一个新项目也一样,这个外部存储权限去不掉,2026-05-19 17:49
-
3***@qq.com (作者)
{
"name": "Crediya",
"appid": "UNI8226E0B",
"description": "",
"versionName": "1.0.1",
"versionCode": "1",
"uni-app-x": {},
/ 快应用特有相关 /
"quickapp": {},
/ 小程序特有相关 /
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents": true
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "3",
"app": {
"distribute": {
"icons": {
"android": {
"hdpi": "",
"xhdpi": "",
"xxhdpi": "",
"xxxhdpi": ""
}
}
}
},
"app-android": {
"distribute": {
"modules": {},
"icons": {
"hdpi": "C:/工作/app16/uni/logo启动图/logo/icon-直角72.png",
"xhdpi": "C:/工作/app16/uni/logo启动图/logo/icon-直角96.png",
"xxhdpi": "C:/工作/app16/uni/logo启动图/logo/icon-直角144.png",
"xxxhdpi": "C:/工作/app16/uni/logo启动图/logo/icon-直角192.png"
},
"splashScreens": {
"default": {
"xhdpi": "C:/工作/app16/uni/logo启动图/Activate/720.png",
"xxhdpi": "C:/工作/app16/uni/logo启动图/Activate/1080.png",
"xxxhdpi": "C:/工作/app16/uni/logo启动图/Activate/2160.png"
},
"background": "#1167F2",
"background@night": "#1167F2",
"icon": {
"xhdpi": "C:/工作/app16/uni/logo启动图/logo2/480.png",
"xxhdpi": "C:/工作/app16/uni/logo启动图/logo2/720.png",
"xxxhdpi": "C:/工作/app16/uni/logo启动图/logo2/960.png"
},
"brand": {
"xhdpi": "C:/工作/app16/uni/logo启动图/name/CreditNow.png",
"xxhdpi": "C:/工作/app16/uni/logo启动图/name/600.png",
"xxxhdpi": "C:/工作/app16/uni/logo启动图/name/800.png"
}
},
"abiFilters": [
"armeabi-v7a",
"arm64-v8a"
],
"minSdkVersion": "26",
"targetSdkVersion": "35",
"excludePermissions": [
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
],
"permissions": []
}
},
"app-ios": {
"distribute": {
"modules": {},
"icons": {},
"splashScreens": {}
}
},
"web": {
"router": {
"mode": ""
}
}
}2026-05-19 17:49
-
欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。
根据你的描述,在 uni-app x 中配置了强制移除的权限但云打包后仍然存在,这个问题通常是因为配置路径或格式不正确导致的。根据官方文档和已解决的类似问题,你可以按以下步骤排查和解决:
首先,请确保你在 manifest.json 中使用了正确的配置节点。
如果你的 HBuilderX 版本是 4.71 及以上,请按如下格式配置:
{
"app-android": {
"distribute": {
"excludePermissions": [
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>"
]
}
}
}
本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
如果你的 HBuilderX 版本是 4.71 以下,则需要配置在app节点下:{ "app": { "distribute": { "android": { "excludePermissions": [ "<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>", "<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>" ] } } } }本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
关键注意事项:
- 源码视图配置:请在
manifest.json的源码视图中进行配置,而不是在可视化界面操作,以确保配置准确无误。 - 转义符号:
android:name字段值的双引号前必须加上转义斜线\。 - 配置优先级:
excludePermissions的优先级是最高的。如果一个权限同时被额外添加和强制移除,最终打包结果会是移除该权限。 - 云打包生效:修改权限配置后,必须重新提交云端打包才能生效,本地打包基座可能不会应用此配置。
如果配置完全正确但仍存在问题:
这可能是因为你使用了 uni.chooseImage 等旧 API,或者某些第三方插件内部仍声明了这些权限。一个来自官方的有效解决方案是使用 uni-chooseSystemMedia 插件。
该插件通过调用系统的照片选择器来选择图片或视频,完全不需要申请 READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO 权限。使用时,需要将上述强制移除权限的配置一并添加到项目中,然后用插件提供的 chooseSystemMedia API 替代原有的 uni.chooseImage 即可。
在 ISSUE 系统 #16049 中,有用户通过以上配置方法成功解决了谷歌应用市场上架时因媒体权限被拒的问题。
如果你已按照文档正确配置但问题依旧,可以尝试将 appid 提供给 DCloud 官方人员排查打包日志,确认是否是云端打包环境导致的问题。


3***@qq.com (作者)
你的已经解决了吗?我现在就是用最新的,也不行
2026-05-19 16:40