uni-app应用中缺少images功能但云打包包含READ_MEDIA_IMAGES权限 导致google play因权限披露问题强制下架APP两次
uni-app应用中缺少images功能但云打包包含READ_MEDIA_IMAGES权限 导致google play因权限披露问题强制下架APP两次
信息类别 | 内容 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC系统版本 | win11 |
HBuilderX | 正式 |
HBuilderX版本 | 4.24 |
手机系统 | Android |
手机系统版本 | Android 14 |
手机厂商 | 小米 |
手机机型 | Redmi Note11 Pro+ |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- 云打包google play渠道包,设置强制移除READ_MEDIA_IMAGES和READ_MEDIA_VIDEO。
预期结果:
- 可以强制移除READ_MEDIA_IMAGES和READ_MEDIA_VIDEO
实际结果:
- 无法移除READ_MEDIA_IMAGES和READ_MEDIA_VIDEO
bug描述:
应用中没有images相关功能,也在权限里进行了强制移除,但是打AAB包权限还是有READ_MEDIA_IMAGES和READ_MEDIA_VIDEO权限。维护了数据安全等但google给我们APP强制下架两次了,皆是这个原因。
- 怎么去掉,在安卓/IOS强制移除权限加了但还是有这个权限。
- 不能去掉的话能说明一下这俩权限干嘛的吗,怎么向google play进行说明和披露。
已解决
怎么解决的呀 ,给后人留一个答案,谢谢
回复 s***@restosuite.ai: 强制移除了
回复 3***@qq.com: 请问,我也是在manifest.json中强制移除了,但google中提示还是存在这两个权限,您是怎么解决的呢?能解答一下吗,谢谢!
针对您提到的uni-app应用中缺少images功能但云打包包含READ_MEDIA_IMAGES
权限,导致Google Play因权限披露问题强制下架APP的问题,以下是一些可能的解决方案,主要通过代码和配置层面来调整。
1. 移除不必要的权限
首先,如果应用确实不需要访问媒体图片库,那么应该直接从manifest.json
中移除该权限。在uni-app项目中,manifest.json
是配置Android和iOS权限的主要文件。
修改manifest.json
:
"mp-weixin": {
// 其他配置...
},
"app-plus": {
"distribute": {
"android": {
"permissions": [
// 确保不包含"READ_MEDIA_IMAGES"
// "android.permission.READ_MEDIA_IMAGES", // 移除这行
"android.permission.INTERNET",
// 其他必要的权限
]
}
}
}
2. 检查并更新云打包配置
如果您是通过DCloud的云打包服务进行打包,确保在云打包的配置中也未包含不必要的权限。云打包配置通常在DCloud开发者后台进行,检查并确保没有为Android平台添加READ_MEDIA_IMAGES
权限。
3. 代码中避免调用相关API
确保应用代码中没有任何地方调用了与读取媒体图片库相关的API。这包括检查任何第三方库或插件,它们可能隐式请求该权限。
4. 使用动态权限请求(如果需要)
如果您的应用未来确实需要访问媒体图片库,可以考虑使用动态权限请求而不是在manifest.json
中静态声明。这样,用户只有在应用尝试访问图片库时才会被提示授予权限,而不是在安装时就授予。
动态权限请求示例(Java/Kotlin):
由于uni-app主要使用Vue.js开发,通常不直接编写Java/Kotlin代码,但如果您有原生插件或需要自定义原生模块,可以在这些模块中实现动态权限请求。
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_MEDIA_IMAGES)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_MEDIA_IMAGES},
MY_PERMISSIONS_REQUEST_READ_MEDIA_IMAGES);
}
5. 重新提交应用
在移除了不必要的权限并确认代码中没有调用相关API后,重新使用DCloud的云打包服务打包应用,并重新提交到Google Play进行审核。
通过上述步骤,您应该能够解决因权限披露问题导致的Google Play下架问题。