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

Android 14中<queries>内<package>元素数量上限及超限问题咨询

Android 14中元素内的数量限制及批量声明方案

数量上限说明

Android 14对AndroidManifest.xml里<queries>元素下的<package>元素设置了1000个的严格上限,超过这个数量会抛出如下异常:

Caused by: java.lang.SecurityException: The number of child package elements exceeded the max allowed in queries.

Android 14之前的版本无此限制。

批量声明8000个的替代方案

直接添加8000个<package>元素会触发上述异常,建议采用以下替代方式:

  • 用意图过滤替代单个包声明:如果你的App是通过特定Intent与目标App交互(比如启动Activity、发送广播),可以在<queries>内添加对应的<intent>元素,声明匹配的action、category、data等,无需逐个列包名就能匹配符合条件的App。
  • 基于签名的批量授权:如果目标8000个App和你的App使用相同的数字签名,在<queries>内添加<signature>元素,匹配签名后即可自动授权访问所有同签名的App,无需逐个声明包名。
  • 动态查询(按需使用):如果只是需要查询设备上已安装的目标App,可在代码中使用PackageManager的getInstalledPackages()或相关API,但需注意Android 11+的权限要求,此方法仅适用于无需在Manifest预声明交互场景的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:03:11