Flutter应用发布Google Play遭拒:未声明安装权限问题求助
问题分析与解决方案
第三方依赖自动注入权限
很多Flutter第三方插件(比如应用更新、文件管理类)会在构建过程中自动将REQUEST_INSTALL_PACKAGES权限注入到合并后的AndroidManifest文件中,你本地的Manifest看不到,但打包后会存在。- 排查:执行
./gradlew app:mergeDebugAndroidManifest命令,查看生成的合并后Manifest文件,定位是哪个依赖引入的权限。 - 解决:在自己的AndroidManifest.xml里添加以下代码移除该权限,注意要在manifest标签中引入tools命名空间
xmlns:tools="http://schemas.android.com/tools":<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove" />
- 排查:执行
Flutter/构建工具版本问题
部分旧版本的Flutter SDK或Android Gradle插件可能会默认添加这个权限,尤其是当项目配置了应用内更新相关逻辑时。- 解决:升级Flutter到最新稳定版,同时将Android Gradle插件版本更新到兼容的最新版本。
构建脚本或混淆配置问题
检查项目根目录和app模块下的build.gradle文件,确认是否有手动添加该权限的代码;另外如果开启了代码混淆,也可能存在导致权限被意外保留的规则。- 解决:清理构建脚本中无关的权限配置,调整混淆规则确保不会保留该权限。
内容的提问来源于stack exchange,提问作者Gabriel Batemarque
相关产品推荐
相关产品推荐

