Internal structure of deviceConfig Tag

The deviceConfig tag contains device-specific configuration of the application, including attributes such as default, tv, car, and wearable. The default configuration applies to all types of devices. You need to declare the peculiar configuration of a specific device type in the associated sub-tag of this type.

Internal Structure of the deviceConfig Tag

Table 1 Internal structure of the deviceConfig tag

Name Description Data Type Initial Value Allowed
default Application configuration specific to the OpenHarmony device that provides full access to system capabilities. Object Yes (initial value: left empty)
tablet Application configuration specific to tablets. Object Yes (initial value: left empty)
tv Application configuration specific to smart TVs. Object Yes (initial value: left empty)
car Application configuration specific to head units. Object Yes (initial value: left empty)
wearable Application configuration specific to wearables. Object Yes (initial value: left empty)

Table 2 describes the internal structure of the deviceConfig attributes.

Internal Structure of the deviceConfig Attributes

Table 2 Internal structure of the deviceConfig attributes

Name Description Data Type Initial Value Allowed
process Name of the process running the application or ability. If the process attribute is configured in the deviceConfig tag, all abilities of the application run in this process. You can set the process attribute for a specific ability in the abilities attribute, so that the ability can run in the particular process. The value can contain a maximum of 31 characters. String Yes (initial value: left empty)
keepAlive Whether the application is always running. This attribute applies only to system applications and does not take effect for third-party applications. The value true means that the application will start during the OS startup and keep alive. If the application process exits, the OS will restart it. Boolean Yes (initial value: false)
supportBackup Whether the application supports backup and restoration. The value false means that the application does not support backup or restoration. Boolean Yes (initial value: false)
compressNativeLibs Whether the libs libraries are packaged in the HAP file after being compressed. The value false means that the libs libraries are stored without being compressed and will be directly loaded during the installation of the HAP file. Boolean Yes (initial value: false)
network Network security configuration. You can customize the network security settings of the application in the security statement of the configuration file without modifying the application code. Object Yes (initial value: left empty)

Internal Structure of the network Attribute

Table 3 Internal structure of the network attribute

Name Description Data Type Initial Value Allowed
cleartextTraffic Whether to allow the application to use plaintext traffic, for example, plaintext HTTP traffic.
true: The application is allowed to use plaintext traffic. false: The application is not allowed to use plaintext traffic.
Boolean Yes (initial value: false)
securityConfig Network security configuration of the application. Object Yes (initial value: left empty)

Internal Structure of the securityConfig Attribute

Table 4 Internal structure of the securityConfig attribute

Name Description Data Type Initial Value Allowed
domainSettings Security settings of the custom network domain. This attribute allows nested domains. That is, the domainSettings object of a network domain can be nested with the domainSettings objects of smaller network domains. Object Yes (initial value: left empty)

Internal Structure of the domainSettings Attribute

Table 5 Internal structure of the domainSettings attribute

Name Description Data Type Initial Value Allowed
cleartextPermitted Whether plaintext traffic can be transmitted in the custom network domain. If both cleartextTraffic and security are declared, whether plaintext traffic can be transmitted in the custom network domain is determined by the cleartextPermitted attribute. true: Plaintext traffic can be transmitted. false: Plaintext traffic cannot be transmitted. Boolean Yes (initial value: left empty)
domains Domain name. This attribute consists of two sub-attributes: subdomains and name. subdomains (boolean): specifies whether the domain name contains subdomains. If this sub-attribute is set to true, the domain naming convention applies to all related domains and subdomains (including the lower-level domains of the subdomains). Otherwise, the convention applies only to exact matches. name (string): indicates the domain name. Object array Yes (initial value: left empty)

Example of the deviceConfig tag:

"deviceConfig": {
  "default": {
    "process": "com.example.test.example",
    "supportBackup": false,
    "network": {
      "cleartextTraffic": true,
      "securityConfig": {
        "domainSettings": {
          "cleartextPermitted": true,
          "domains": [
            {
              "subdomains": true,
              "name": "example.ohos.com"
            }
          ]
        }
      }
    }
  }
}