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

APP因REQUEST_INSTALL_PACKAGES权限遭拒,移除权限方案无效求助

彻底移除REQUEST_INSTALL_PACKAGES权限的解决方案
  • 确保tools命名空间已添加到清单根标签
    若未声明tools命名空间,tools:node="remove"会完全失效。在AndroidManifest.xml的<manifest>标签中补充:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.your.app.package">
    
  • 排查权限来源
    该权限大概率是第三方依赖库(如广告、统计SDK)自动引入的,可通过两种方式定位:

    1. 执行Gradle命令生成合并报告:./gradlew app:mergeDebugManifest,然后在build/outputs/logs/manifest-merger-debug-report.txt中搜索REQUEST_INSTALL_PACKAGES,查看From字段对应的依赖包名。
    2. 使用Android Studio内置工具:打开AndroidManifest.xml,切换到底部的Merged Manifest标签,搜索目标权限,右侧From列会显示依赖来源。
  • 针对性移除依赖中的权限
    找到依赖包名后,在你的清单中精准移除该权限(全局移除可能被依赖的清单覆盖):

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
        tools:node="remove"
        tools:selector="com.thirdparty.sdk.package" />
    

    将com.thirdparty.sdk.package替换为实际的依赖包名。

  • 清理缓存并重新构建
    缓存可能导致合并逻辑异常,执行以下操作:

    • 点击Android Studio菜单栏Build > Clean Project
    • 接着点击Build > Rebuild Project
    • 可选:执行Gradle命令清理缓存:./gradlew cleanBuildCache
  • 验证移除结果
    构建完成后,打开app/build/intermediates/merged_manifests/[variant]/AndroidManifest.xml([variant]为debug或release),确认REQUEST_INSTALL_PACKAGES权限已完全消失。

内容的提问来源于stack exchange,提问作者Augustine Onu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:35:24