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

Android签名APK(.aab)遭Play Store拒绝:REQUEST_INSTALL_PACKAGES权限合规问题

解决Google Play因REQUEST_INSTALL_PACKAGES权限拒绝AAB的问题

1. 检查合并后的Manifest文件

你自己的AndroidManifest.xml没声明该权限,但第三方依赖库可能会隐式添加这个权限,通过Manifest合并机制进入最终构建包。可以通过两种方式查看:

  • 在Android Studio中,打开app/src/main/AndroidManifest.xml,点击底部的Merged Manifest标签,搜索REQUEST_INSTALL_PACKAGES,找到是哪个依赖引入的。
  • 执行Gradle命令生成合并报告:
    ./gradlew app:processReleaseManifest
    
    报告路径在app/build/outputs/logs/manifest-merger-release-report.txt,打开后搜索目标权限定位来源。

2. 强制移除该权限

在你自己的AndroidManifest.xml中添加以下代码,强制移除合并进来的REQUEST_INSTALL_PACKAGES权限:
首先在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" />

3. 排查自动更新类依赖

如果你的项目中使用了自动更新SDK(比如第三方更新库),这类库通常会自动声明该权限用于安装APK包。可以:

  • 查看更新库的配置文档,是否有选项禁用该权限(比如引导用户到Google Play进行更新,无需本地安装权限)。
  • 若无法配置,考虑替换为仅依赖Google Play更新的方案,完全去掉本地安装逻辑。

4. 清理缓存并重新构建

清理项目缓存避免旧配置残留:

  • 在Android Studio中点击File > Invalidate Caches...,选择Invalidate and Restart。
  • 重新执行构建命令生成AAB:
    ./gradlew app:bundleRelease
    

5. 验证最终AAB的权限

构建完成后,用aapt工具检查AAB中的权限列表,确认REQUEST_INSTALL_PACKAGES已被移除:

aapt dump permissions app/build/outputs/bundle/release/app-release.aab

内容的提问来源于stack exchange,提问作者Muhammad Haris

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:05:07