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

React Native应用因QUERY_ALL_PACKAGES权限被拒,权限来源不明求助

解决React Native应用因QUERY_ALL_PACKAGES权限被拒审问题
  • 排查权限来源

    • 第三方依赖注入:该权限大概率是项目中的第三方依赖自动添加的,而非你的代码直接声明。在项目根目录执行以下命令搜索所有依赖的清单文件:
      cd android && grep -r "QUERY_ALL_PACKAGES" .
      
    • 查看合并后清单:运行./gradlew processDebugManifest,然后在app/build/intermediates/merged_manifests/debug/AndroidManifest.xml中查看完整的合并清单,这里会显示所有被依赖注入的权限。
  • 移除权限并替换为声明

    • 主动移除权限:在你的主AndroidManifest.xml中添加tools:remove标签移除该权限,注意要先在根标签添加xmlns:tools="http://schemas.android.com/tools":
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools">
          
          <!-- 移除依赖注入的QUERY_ALL_PACKAGES权限 -->
          <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:remove="android:name"/>
          
          <!-- 声明需要访问的特定应用 -->
          <queries>
              <package android:name="com.example.targetapp"/>
              <!-- 补充所有你的应用需要交互的第三方应用包名 -->
          </queries>
      </manifest>
      
  • 验证修改有效性

    • 重新执行./gradlew processDebugManifest,检查合并后的清单文件,确认QUERY_ALL_PACKAGES权限已被移除,元素正确添加。
    • 打包测试版本,验证应用核心功能是否正常,避免因包可见性限制导致依赖功能失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:27:30