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

如何获取Android App Bundle中所有已安装的功能?

业界推荐实现方案

优先使用Android官方提供的PackageManager公开API获取拆分功能信息,是目前稳定性、效率、准确率最高的实现方式,无需依赖自定义规则或手动解析文件。

具体实现逻辑

  1. 通过PackageManager.getInstalledPackages(0)获取设备上已安装的所有应用包信息
  2. 针对目标包调用PackageManager.getSplitInfo(String packageName, int flags)接口,传入PackageManager.GET_SPLITS标记,即可直接获取该包下所有拆分APK的SplitInfo实例列表
  3. 直接调用SplitInfo.isFeatureSplit()方法就能判断当前拆分是否为Feature APK,完全基于官方内置标记,无需额外自定义逻辑

你提到的两种方案的缺陷

  • 依赖splitNames命名规则判断:容错性极低,只要应用的Feature APK命名不匹配你预设的规则,就会出现误判、漏判,完全不适合生产环境使用
  • 手动解析AndroidManifest.xml:性能损耗大,批量查询场景下耗时会明显升高,还要额外处理APK文件读取权限、格式异常等边缘问题,维护成本很高

兼容性说明

getSplitInfo接口从Android 5.0(API level 21)开始提供支持,目前绝大多数安卓设备的系统版本都高于该要求,如果你有极特殊的低版本兼容需求,再考虑退而求其次使用手动解析Manifest的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:27:03