目录

如何获取应用包及项目配置项信息

问题现象

开发过程中,有很多场景需要获取本应用(模块)的相关信息,如versionCode版本号,versionName版本号描述,bundleName应用包名,module.json5里面的应用配置项值,当前包的编译模式(debug还是release)等等,本文将详细分析此类情形。

背景知识

解决方案

  1. 命令行查询:
    • hdc shell bm dump -a,获取设备已安装所有应用包名。
    • hdc shell bm dump -n com.huawei.hmos.browser,获取指定应用包名的详细信息。
  2. 代码中查询:

    此种查询方式可以获取到应用的签名证书信息,应用id,应用包名,应用版本号,访问应用程序所需的权限,应用程序的元信息,应用程序的安装目录,应用程序签名证书文件的类型(debug、release),以及应用是否为系统应用,应用是否处于调试模式,应用包的类型(应用或元服务)等等;

常见FAQ

Q:系统未放开包名查询权限,如何获取设备上已安装的应用信息?

A:目前不允许查询设备应用列表数据,无法申请相关权限。

Q:build-profile.json5中的buildProfileFields自定义字段的优先级是怎样?

A:模块级targets-》模块级buildOptionSet-》模块级buildOption-》工程级products-》工程级buildModeSet。