Google Play因REQUEST_INSTALL_PACKAGES权限拒审,如何快速解决?
解决Google Play因REQUEST_INSTALL_PACKAGES权限拒审的可行方案
1. 定位权限来源
先明确是哪个依赖插件引入了该权限:
- 使用Android Studio的Manifest Merging功能:打开项目的
AndroidManifest.xml,底部切换到Merged Manifest标签,搜索REQUEST_INSTALL_PACKAGES,右侧会显示该权限的来源依赖包名。 - 或用Gradle命令生成合并报告:执行
./gradlew app:mergeReleaseManifest(针对release版本),在build/outputs/logs/manifest-merger-release-report.txt中查找权限对应的依赖。
2. 确保tools命名空间配置正确
很多情况下权限移除无效是因为Manifest根标签未声明tools命名空间,需补充:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="your.app.package">
3. 精准移除权限
如果全局移除不生效,可针对具体依赖包移除:
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove" tools:selector="com.example.target.plugin.package"/>
将com.example.target.plugin.package替换为步骤1中找到的依赖包名。
4. 排查动态权限请求
部分插件可能在代码中动态申请该权限,即使Manifest移除也会被检测到:
- 搜索项目代码中是否存在
PackageManager.REQUEST_INSTALL_PACKAGES、requestPermissions相关调用。 - 若确认无需该功能,可通过ProGuard/R8混淆规则移除相关代码,或替换无此权限请求的插件版本。
5. 验证权限是否彻底移除
打包APK/AAB后,用aapt工具确认权限已删除:
aapt dump badging your-app.apk | grep "REQUEST_INSTALL_PACKAGES"
若输出为空,说明权限已成功移除。
6. 提交申诉(若仍被拒)
如果已确认权限完全移除但审核仍不通过,在Google Play控制台申诉时附上:
- 合并后的Manifest截图(证明无该权限)
- aapt工具的检测结果
- 应用未使用任何安装APK功能的说明,请求重新审核
内容的提问来源于stack exchange,提问作者Susy Valentina Rahardjo
相关产品推荐
相关产品推荐

