Flutter更新App后遭Google Play权限合规警告,未声明REQUEST_INSTALL_PACKAGES权限
原因分析
你没手动声明REQUEST_INSTALL_PACKAGES权限,但Google Play检测到该权限存在,核心原因是项目依赖的第三方Flutter插件或Android库在自身清单文件中声明了这个权限。Flutter打包时会自动合并所有依赖的AndroidManifest.xml,最终生成的APK就会带上这个你没手动添加的权限。
解决方案
- 定位问题依赖:
打开Android项目目录下的app/build/outputs/logs/manifest-merger-release-report.txt文件,搜索REQUEST_INSTALL_PACKAGES,就能看到具体是哪个第三方库引入的这个权限。 - 强制移除权限:
在你的主AndroidManifest.xml里添加以下代码,强制剔除该权限:<!-- 先在manifest根标签添加tools命名空间 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- 然后添加权限移除声明 --> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove" /> - 验证移除结果:
打包APK后,用命令aapt dump permissions your-app.apk查看权限列表,确认REQUEST_INSTALL_PACKAGES已被移除。 - 重新提交审核:
重新打包上传应用到Google Play,在审核备注里说明:你并未使用任何安装APK的功能,此次更新中已排查并移除了第三方依赖带来的多余REQUEST_INSTALL_PACKAGES权限。
内容的提问来源于stack exchange,提问作者MANISH
相关产品推荐
相关产品推荐

