You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native应用因权限问题遭Play商店拒审,求排查遗漏点

可能遗漏的几个关键点
  • 第三方依赖偷偷注入权限:React Native的很多第三方库(比如图片选择、地图、媒体处理类库)会在自身的AndroidManifest.xml中声明权限,即使你在主manifest里用tools:node="remove"移除了目标权限,gradle合并manifest时还是会把依赖的权限加进来。你可以执行./gradlew app:mergeDebugAndroidManifest生成最终合并后的manifest文件,路径一般是app/build/intermediates/merged_manifests/debug/AndroidManifest.xml,打开看看有没有残留的权限。

  • tools命名空间未正确引入:如果你的AndroidManifest.xml根标签<manifest>里没有添加xmlns:tools="http://schemas.android.com/tools",那tools:node="remove"这个属性是完全无效的,等于没做任何权限移除操作。检查一下根标签是否包含这个命名空间。

  • 遗漏了Android 13+的新存储权限:从Android 13开始,原来的READ_EXTERNAL_STORAGE被拆分为READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO,如果你的依赖库适配了Android 13,可能会自动添加这些新权限,你没在manifest里移除它们,同样会触发审核拒绝。

  • 代码中残留动态权限请求逻辑:即使manifest里没权限,如果你代码里还保留着PermissionsAndroid.request这类请求被拒权限的代码,Google的审核检测工具会扫描到这些逻辑,判定你仍在试图获取权限。彻底删掉代码中所有相关的权限请求、权限检查逻辑。

  • 审核备注说明不够明确:虽然你附了截图,但审核员可能需要你用文字明确说明:你已经完全移除了所有不必要的权限,应用当前的功能完全不依赖这些权限,并且新版本没有任何需要这些权限的功能模块。模糊的说明可能导致审核员无法快速确认你的修改。

  • 未清理构建缓存:修改manifest后如果没清理gradle缓存,打包时可能还是用了旧的manifest配置。执行./gradlew clean后再重新打包生成APK/AAB,确保新的权限设置生效。

内容的提问来源于stack exchange,提问作者Riku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 19:27:16