Flutter应用因敏感权限问题无法发布新版本,寻求解决办法
解决Google Play因敏感权限无法发布新版本的方案
彻底清除项目内的敏感权限残留
- 先处理
open_file插件:要么直接移除该插件,要么升级到最新版本(部分新版本已默认不再请求REQUEST_INSTALL_PACKAGES权限);如果必须保留插件,查看其文档是否有配置项可关闭该权限请求。 - 在
android/app/src/main/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" /> </manifest> - 清理Flutter构建缓存,避免旧权限残留:
flutter clean flutter pub get - 构建新版本后,用aapt命令验证权限是否彻底清除:
无输出则说明权限已移除。aapt dump badging your-app-release.aab | grep "REQUEST_INSTALL_PACKAGES"
- 先处理
清理Google Play控制台的旧版本
- 下架生产轨道的所有旧版本:进入控制台「生产」→「版本管理」,找到所有含敏感权限的旧版本,点击「下架」,确保生产轨道无活跃旧版本。
- 清理所有测试轨道(内部/封闭/开放测试):停止所有含该权限的测试版本的发布状态,删除相关构建包,确保测试轨道只有新提交的无权限版本。
- 检查「政策与合规」→「权限和声明」页面,移除
REQUEST_INSTALL_PACKAGES的相关声明(如果之前提交过)。
提交新版本并处理审核
- 若应用完全不需要安装未知来源应用的功能,提交新版本时,在权限声明部分明确说明未使用该权限。
- 提交后等待1-2小时,让Google Play系统重新扫描所有轨道版本。若仍提示权限问题,直接联系Google Play开发者支持,提供应用包名和新版本构建信息,请求人工核查。
- 若确实需要该权限,必须在「权限和声明」页面提交完整的使用场景说明,等待Google审核通过后再发布新版本。
内容的提问来源于stack exchange,提问作者Vikas Harad
相关产品推荐
相关产品推荐

