harmony(鸿蒙)HarmonyAppProvision Configuration File

  • 2022-08-09
  • 浏览 (891)

HarmonyAppProvision Configuration File

The HarmonyAppProvision configuration file (also called profile) is the file where you declare permission and signature information for your application.

Configuration File Internal Structure

The HarmonyAppProvision file consists of several parts, which are described in the table below.

Table 1 Internal structure of the HarmonyAppProvision file |Name |Description |Data Type|Mandatory|Initial Value Allowed| |———–|—————————————————————————————-|——–|——–|——–| |version-code|Version number of the HarmonyAppProvision file format. The value is a positive integer containing 32 or less digits.|Number|Yes|No | |version-name |Description of the version number. It is recommended that the value consist of three segments, for example, A.B.C. |String|Yes|No| |uuid |Unique ID of the HarmonyAppProvision file. |String |Yes|No| |type|Type of the HarmonyAppProvision file. The value can be debug (for application debugging) or release (for application release). The recommended value is debug.|String |Yes|No| |issuer|Issuer of the HarmonyAppProvision file. |String |Yes|No| |validity |Validity period of the HarmonyAppProvision file. For details, see Internal Structure of the validity Object.|Object |Yes|No| |bundle-info|Information about the application bundle and developer. For details, see Internal Structure of the bundle-info Object. |Object |Yes|No| |acls |Information about the Access Control Lists (ACLs). For details, see Internal Structure of the acls Object. |Object |No|No | |permissions|Permissions required for your application. For details, see Internal Structure of the permissions Object. |Object |No|No | |debug-info|Additional information for application debugging. For details, see Internal Structure of the debug-info Object. |Object |No|No |

An example of the HarmonyAppProvision file is as follows:

{
    "version-code": 1,
    "version-name": "1.0.0",
	"uuid": "string",
	"type": "debug",
	"validity": {
		"not-before": 1586422743,
		"not-after": 1617958743
	},
	"bundle-info" : {
		"developer-id": "OpenHarmony",
		"development-certificate": "Base64 string",
		"distribution-certificate": "Base64 string",
		"bundle-name": "com.OpenHarmony.app.test",
		"apl": "normal",
        "app-feature": "hos_normal_app"
	},
	"acls": {
		"allowed-acls": ["string"]
    },
	"permissions": {
		"restricted-permissions": ["string"]
    },
    "debug-info" : {
	    "device-id-type": "udid",
	    "device-ids": ["string"]
    },
    "issuer": "OpenHarmony"
}

Internal Structure of the validity Object

Name Description Data Type Mandatory Initial Value Allowed
not-before Start time of the file validity period. The value is a Unix timestamp, which is a non-negative integer. Number Yes No
not-after End time of the file validity period. The value is a Unix timestamp, which is a non-negative integer. Number Yes No

Internal Structure of the bundle-info Object

Name Description Data Type Mandatory Initial Value Allowed
developer-id Unique ID of the developer. String Yes No
development-certificate Information about the debug certificate. Number Yes if type is set to debug and no otherwise No
distribution-certificate Information about the release certificate. Number Yes if type is set to release and no otherwise No
bundle-name Bundle name of the application. String Yes No
apl Ability privilege level (APL) of your application. The value can be normal, system_basic, or system_core. String Yes No
app-feature Type of your application. The value can be hos_system_app (system application) or hos_normal_app (non-system application). String Yes No

Internal Structure of the acls Object

The acls object contains the ACLs configured for your application. It should be noted that you still need to fill the ACL information in the reqPermissions attribute in the config.json file.

Table 4 Internal structure of the acls object

Name Description Data Type Mandatory Initial Value Allowed
allowed-acls ACLs configured for your application. String array No No

Internal Structure of the permissions Object

The permissions object contains restricted permissions required for your application. Different from the ACLs set in the acls object, these permissions need user authorization during the running of your application. It should be noted that you still need to fill the permission information in the reqPermissions attribute in the config.json file.

Table 5 Internal structure of the permissions object

Name Description Data Type Mandatory Initial Value Allowed
restricted-permissions Restricted permissions required for your application. String array No No

Internal Structure of the debug-info Object

The debug-info object contains debugging information of your application, mainly device management and control information.

Table 6 Internal structure of the debug-info object

Name Description Data Type Mandatory Initial Value Allowed
device-id-type Type of the device ID. Currently, only the udid type is supported. String No No
device-ids IDs of devices on which your application can be debugged. String array No No

你可能感兴趣的鸿蒙文章

harmony(鸿蒙)Quick Start

harmony(鸿蒙)Basic UI Description

harmony(鸿蒙)Dynamic UI Element Building

harmony(鸿蒙)Getting Started with ArkTS

harmony(鸿蒙)Rendering Control

harmony(鸿蒙)Restrictions and Extensions

harmony(鸿蒙)State Management with Application-level Variables

harmony(鸿蒙)Basic Concepts

harmony(鸿蒙)State Management with Page-level Variables

harmony(鸿蒙)DevEco Studio (OpenHarmony) User Guide

0  赞