• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# deviceConfig内部结构
2<!--Kit: Ability Kit-->
3<!--Subsystem: BundleManager-->
4<!--Owner: @wanghang904-->
5<!--Designer: @hanfeng6-->
6<!--Tester: @kongjing2-->
7<!--Adviser: @Brilliantry_Rui-->
8
9`deviceConfig` 包含设备上的应用配置信息,支持 `default`、`tv`、`car`、`wearable` 等属性。`default` 标签内的配置适用于所有通用设备,其他设备类型如需特定配置,需在相应标签下进行配置。
10
11## deviceConfig对象内部结构
12
13**表1** **deviceConfig对象内部结构说明**
14
15| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
16| -------- | -------- | -------- | -------- |
17| default | 能够使用全部系统能力的设备。 | 对象 | 可缺省,缺省值为空。 |
18| tablet | 标识平板特有的应用配置信息。 | 对象 | 可缺省,缺省值为空。 |
19| tv | 标识智慧屏特有的应用配置信息。 | 对象 | 可缺省,缺省值为空。 |
20| car | 标识车机特有的应用配置信息。 | 对象 | 可缺省,缺省值为空。 |
21| wearable | 标识智能穿戴特有的应用配置信息。 | 对象 | 可缺省,缺省值为空。 |
22
23
24上表中各设备对象的内部结构说明参见[deviceConfig设备对象内部结构](#deviceconfig设备对象内部结构)。
25
26## deviceConfig设备对象内部结构
27
28**表2** **deviceConfig设备对象内部结构说明**
29
30| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
31| -------- | -------- | -------- | -------- |
32| process | 标识应用或Ability的进程名。如果在deviceConfig标签下配置了process标签,则应用的所有Ability运行在此进程中。如果在abilities标签下为某个Ability配置了process标签,则该Ability运行在此进程中。该标签最大长度为31。 | 字符串 | 可缺省,缺省值为空。 |
33| keepAlive | 标识应用是否始终保持运行状态,仅支持系统应用配置,三方应用配置不生效。<br/>-&nbsp;true:应用始终保持为运行状态。系统启动时,该应用会被系统驱动起来。应用进程退出后,系统也会重新启动应用进程。<br/>-&nbsp;false:应用不会始终保持为运行状态。系统启动时,该应用不会被系统驱动起来。应用进程退出后,系统不会重新启动应用进程。 | 布尔类型 | 可缺省,缺省值为false。 |
34| supportBackup | 标识应用是否支持备份和恢复。<br/>-&nbsp;true:该应用支持执行备份或恢复操作。<br/>-&nbsp;false:该应用不支持执行备份或恢复操作。 | 布尔类型 | 可缺省,缺省值为false。 |
35| compressNativeLibs | 该字段在打包HAP时标识libs库是否以压缩方式存储。<br/>-&nbsp;true:libs库以压缩方式存储。<br/>-&nbsp;false:libs库以不压缩方式存储。<br>在应用安装时,该字段用于标识libs库是否需要解压出来(API16及之后版本支持,之前的版本均默认解压libs库)。<br/>-&nbsp;true:解压。<br/>-&nbsp;false:不解压。 | 布尔类型 | 该标签可缺省。打包HAP时缺省值为false,安装应用时未配置则默认为true。 |
36| network | 标识网络安全性配置。该标签允许应用通过配置文件的安全声明自定义其网络安全,无需修改应用代码。 | 对象 | 可缺省,缺省值为空。 |
37
38## network对象内部结构
39
40**表3** **network对象内部结构说明**
41
42| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
43| -------- | -------- | -------- | -------- |
44| cleartextTraffic | 标识是否允许应用使用明文网络流量(例如,明文HTTP)。<br/>-&nbsp;true:允许应用使用明文流量的请求。<br/>-&nbsp;false:拒绝应用使用明文流量的请求。 | 布尔类型 | 可缺省,缺省值为false。 |
45| securityConfig | 标识应用的网络安全配置信息。 | 对象 | 可缺省,缺省为空。 |
46
47## securityConfig对象内部结构
48
49**表4** **securityConfig对象内部结构说明**
50
51| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
52| -------- | -------- | -------- | -------- |
53| domainSettings | 标识自定义网域范围的安全配置,支持多层嵌套。一个domainSettings对象中可嵌套更小网域范围的domainSettings对象。 | 对象类型 | 可缺省,缺省为空。 |
54
55## domainSettings对象内部结构
56
57**表5** **domainSettings对象内部结构说明**
58
59| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
60| -------- | -------- | -------- | -------- |
61| cleartextPermitted | 标识自定义网域范围内是否允许明文流量传输。cleartextTraffic和securityConfig同时存在时,以cleartextPermitted的值为准。<br/>-&nbsp;true:允许明文流量传输。<br/>-&nbsp;false:拒绝明文流量传输。 | 布尔类型 | 可缺省,缺省值为false。 |
62| domains | 标识域名配置信息,包含两个参数:subdomains和name。<br/>-&nbsp;subdomains:表示是否包含子域名。取值为"true"时,表示该规则将与相应网域及所有子网域(包括子网域的子网域)匹配;取值为"false"时,规则仅适用于精确匹配项。<br/>-&nbsp;name:表示域名名称,为字符串类型。 | 对象数组 | 可缺省,缺省值为空。 |
63
64以下是deviceConfig的示例:
65
66```json
67"deviceConfig": {
68  "default": {
69    "process": "com.example.test.example",
70    "supportBackup": false,
71    "network": {
72      "cleartextTraffic": true,
73      "securityConfig": {
74        "domainSettings": {
75          "cleartextPermitted": true,
76          "domains": [
77            {
78              "subdomains": true,
79              "name": "example.ohos.com"
80            }
81          ]
82        }
83      }
84    }
85  }
86}
87```