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

Flutter应用因REQUEST_INSTALL_PACKAGES权限遭Play商店拒审求助

Google Play 因 REQUEST_INSTALL_PACKAGES 权限拒审,已尝试多种方法仍未解决

我上传Flutter应用到Google Play时,一直因包含REQUEST_INSTALL_PACKAGES权限被拒,但我已经尝试了多种排查方法,均未找到该权限的踪迹,也无法解决拒审问题:

  • 在AndroidManifest.xml中添加代码:<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove"/>
  • 移除open_file包,执行flutter clean后重新构建
  • 通过Android Studio分析APK,未发现REQUEST_INSTALL_PACKAGES权限
  • 在应用包资源管理器中检查,未找到该权限
  • 查看\build\app\outputs\logs\manifest-merger-release-report.txt,同样无该权限记录

可能的解决方向

  1. 排查间接依赖的权限引入
    有些第三方包可能通过依赖链间接声明这个权限,不一定是你直接引用的包。执行flutter pub deps --tree查看完整依赖树,逐个检查依赖包的AndroidManifest文件,确认是否有包声明了该权限。
  2. 检查多构建变种配置
    如果用了多渠道打包或自定义构建变种,可能某个变种的Manifest配置没同步处理。确保所有构建变种的AndroidManifest都添加了权限移除的代码,或者统一使用主Manifest的配置。
  3. 强化Manifest权限移除规则
    尝试在权限声明里加上tools:replace="android:name",确保Manifest合并时彻底移除该权限:
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove" tools:replace="android:name"/>
    
  4. 更新Google Play Console的权限声明
    有时候Google Play会缓存之前的权限记录,即便当前APK没有该权限,后台可能还保留旧的声明。去Console的「应用内容」-「权限和功能」页面,手动更新权限说明,明确告知已移除该权限。
  5. 彻底清理构建缓存后重新打包
    除了flutter clean,直接删除项目根目录的build文件夹,然后重新执行构建、签名流程。生成APK后再次用Android Studio的APK Analyzer确认权限情况,避免缓存导致的APK内容不一致。
  6. 检查代码中的动态权限请求
    即便Manifest里没声明,如果代码里存在请求REQUEST_INSTALL_PACKAGES权限的逻辑,Google Play的检测工具也会识别到。全局搜索项目代码中的REQUEST_INSTALL_PACKAGES字符串,确保没有残留相关请求逻辑。

内容的提问来源于stack exchange,提问作者Lee Wei Chin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:25:37