购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.5 配置文件

HarmonyOS应用的每个HAP的根目录下都存在一个config.json配置文件,如图4-10所示。

图4-10 配置文件

配置文件的内容主要涵盖以下3个方面:

· 应用的全局配置信息,包含应用的包名、生产厂商、版本号等基本信息。

· 应用在具体设备上的配置信息,包含应用的备份恢复、网络安全等能力。

· HAP包的配置信息,包含每个Ability必须定义的基本属性(如包名、类名、类型以及Ability提供的能力),以及应用访问系统或其他应用受保护部分所需的权限等。

4.5.1 配置文件的组成

配置文件config.json采用JSON文件格式,其中包含一系列配置项,每个配置项由属性和值两部分构成。

· 属性:属性出现顺序不分先后,且每个属性最多只允许出现一次。

· 值:每个属性的值为JSON的基本数据类型(数值、字符串、布尔值、数组、对象或者null类型)。

应用的配置文件config.json由app、deviceConfig和module三个部分组成,缺一不可。配置文件的内部结构说明参见表4-3。

表4-3 配置文件的内部结构说明

以下是HelloWorld应用的配置文件:

接下来详细介绍上述配置的含义。

4.5.2 app对象的内部结构

app对象包含应用的全局配置信息,内部结构说明如下。

· bundleName:表示应用的包名,用于标识应用的唯一性。包名是由字母、数字、下画线(_)和点号(.)组成的字符串,必须以字母开头。包名支持的字符串长度为7~127字节。包名通常采用业界常用的反域名形式表示(例如com.waylau.hmos)。建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以采用多级。

· vendor:表示对应用开发厂商的描述。字符串长度不超过255字节。该值可缺省,缺省值为空。

· version:表示应用的版本信息。

code:表示应用的版本号,仅用于HarmonyOS管理该应用,不对应用的终端用户呈现。在API 5及更早的版本中,code的取值规则为二进制32位以内的非负整数,需要从version.name的值转换得到。从API 6版本起,code的取值不与version.name字段的取值关联,开发者可以自定义code的取值,取值范围为小于231的非负整数,但是每次应用的版本更新均需更新code字段的值,新版本code的值必须大于旧版本code的值。

name:表示应用的版本号,用于向应用的终端用户呈现。取值可以自定义,长度不超过127字节。在API 5及更早版本中,推荐使用三段式数字版本号(也兼容两段式版本号),如A.B.C(也兼容A.B),其中A、B、C取值为0~999范围内的整数。从API 6版本起,推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0~99范围内的整数,D取值为0~999范围内的整数。

minCompatibleVersionCode:表示应用可兼容的最低版本号,用于在跨设备场景下判断其他设备上该应用的版本是否兼容。格式与version.code字段的格式要求相同。

· multiFrameworkBundle:表示应用是否为混合打包的HarmonyOS应用。混合打包场景配置为true,非混合打包场景配置为false。该标签值由IDE自动配置。

· smartWindowSize:该标签用于在悬浮窗场景下表示应用的模拟窗口的尺寸。配置格式为“正整数*正整数”,单位为vp。正整数取值范围为[200,2000]。

· smartWindowDeviceType:表示应用可以在哪些设备上使用模拟窗口打开,取值为phone(智能手机)、tablet(平板)、tv(智慧屏)。

· targetBundleList:表示允许以免安装方式拉起的其他HarmonyOS应用,列表取值为每个HarmonyOS应用的bundleName,多个bundleName之间用英文逗号“,”区分,最多配置10个bundleName。如果被拉起的应用不支持免安装方式,则拉起失败。

4.5.3 deviceConfig对象的内部结构

deviceConfig包含在具体设备上的应用配置信息可以包含default、phone、tablet、tv、car、wearable、liteWearable和smartVision等属性。default标签内的配置是所有设备通用的,其他设备类型如果有特殊的需求,则需要在该设备类型的标签下进行配置。

· default:表示所有设备通用的应用配置信息。

· phone:表示手机类设备的应用信息配置。

· tablet:表示平板的应用配置信息。

· tv:表示智慧屏特有的应用配置信息。

· car:表示车机特有的应用配置信息。

· wearable:表示智能穿戴特有的应用配置信息。

· liteWearable:表示轻量级智能穿戴特有的应用配置信息。

· smartVision:表示智能摄像头特有的应用配置信息。

default、phone、tablet、tv、car、wearable、liteWearable和smartVision等对象的内部结构说明,可参见表4-4。

表4-4 不同设备的内部结构说明

表4-4中的network对象的内部结构说明见表4-5。

表4-5 network对象的内部结构说明

表4-5中的securityConfig对象的domainSettings属性的内部结构说明见表4-6。

表4-6

deviceConfig示例如下:

4.5.4 module对象的内部结构

module对象包含HAP包的配置信息,内部结构说明参见表4-7。

表4-7 module对象的内部结构说明

在表4-7中,distro对象的内部结构说明参见表4-8。

表4-8 distro对象的内部结构说明

在表4-7中,distro对象的内部结构说明参见表4-9。

表4-9 abilities对象的内部结构说明

(续表)

(续表)

(续表)

更多配置项的含义可参阅官方文档。 fA6blrTpVgzTfB4mhE7ePlaK0slGqQfmhD+n6asmPhyLnN3J0ROqo68ZLdTpEUF5

点击中间区域
呼出菜单
上一章
目录
下一章
×