harmony(鸿蒙)HarmonyAppProvision配置文件的说明

2022-08-09 浏览 (1356)

HarmonyAppProvision配置文件的说明

在应用的开发过程中,应用的权限、签名信息等需要在HarmonyAppProvision配置文件(该文件在部分文档中也称为profile文件)中声明。

配置文件的内部结构

HarmonyAppProvision文件包含version-code对象、version-name对象、uuid对象、type对象、issuer对象、validity对象、bundle-info对象、acls对象、permissions对象、debug-info对象等部分组成。

表1 配置文件内部结构说明

属性名称含义数据类型是否必选是否可缺省
version-code表示HarmonyAppProvision文件格式的版本号,取值范围为二进制32位以内的正整数。数值必选不可缺省
version-name表示版本号的文字描述,推荐使用三段数字版本号,如A.B.C。字符串必选不可缺省
uuid表示文件的唯一ID号,用于OEM厂商标识HarmonyAppProvision文件,开源社区版本该属性不做强制要求。字符串必选不可缺省
type表示HarmonyAppProvision文件的类型, 系统预定义的文件类型包括:debug(用于应用调试场景)和release(用于应用发布场景) ,开源社区版本该属性值建议为debug。字符串必选不可缺省
issuer表示HarmonyAppProvision签发者。字符串必选不可缺省
validity表示HarmonyAppProvision文件有效期的信息。参考validity对象内部结构对象必选不可缺省
bundle-info表示应用包以及开发者的信息。参考bundle-info对象内部结构对象必选不可缺省
acls表示授权的acl权限信息。参考acls对象内部结构对象可选不可缺省
permissions表示允许使用的受限敏感权限信息。参考permissions对象内部结构对象可选不可缺省
debug-info表示应用调试场景下的额外信息。参考debug-info对象内部结构对象可选不可缺省

HarmonyAppProvision文件示例:

{
    "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"
}

validity对象内部结构

属性名称含义数据类型是否必选是否可缺省
not-before表示文件有效期的开始时间,时间表示方式为unix时间戳,非负整数。数值必选不可缺省
not-after表示文件有效期的结束时间,时间表示方式为unix时间戳,非负整数。数值必选不可缺省

bundle-info对象内部结构

属性名称含义数据类型是否必选是否可缺省
developer-id表示开发者的唯一ID号,用于OEM厂商标识开发者,开源社区版本该属性不做强制要求。字符串必选不可缺省
development-certificate表示调试证书的信息。数值当type属性为debug时,该属性必选;否则,该属性可选。不可缺省
distribution-certificate表示发布证书的信息。数值当type属性为release时,该标签必选;否则,该标签可选。不可缺省
bundle-name表示应用程序的包名。字符串必选不可缺省
apl表示应用程序的apl级别,系统预定义的apl包括:normal、system_basic和system_core。字符串必选不可缺省
app-feature表示应用程序的类型,系统预定义的app-feature包括hos_system_app (系统应用)和hos_normal_app(普通应用)。字符串必选不可缺省

acls对象内部结构

acls对象包含已授权的acl权限。需要指出的是,开发者仍然需要在应用包配置文件(config.json)将acls权限信息填写到reqPermissions属性中。

表4 acls对象的内部结构

属性名称含义数据类型是否必选是否可缺省
allowed-acls表示已授权的acl权限列表。字符串数组可选不可缺省

permissions对象内部结构

permissions对象包含允许使用的受限敏感权限。不同于acls对象,permissions对象中的权限仅代表应用允许使用该敏感权限,权限最终由用户运行时授权。需要指出的是,开发者仍然需要在应用包配置文件(config.json)将permissions权限信息填写到reqPermissions属性中。

表5 permissions对象的内部结构

属性名称含义数据类型是否必选是否可缺省
restricted-permissions表示允许使用的受限敏感权限字符串数组可选不可缺省

debug-info对象内部结构

debug-info对象包含应用调试场景下的信息,主要是设备管控的信息。

表6 debug-info对象的内部结构

属性名称含义数据类型是否必选是否可缺省
device-id-type表示设备ID的类型,当前系统仅提供udid的设备ID类型。字符串可选不可缺省
device-ids表示应用调试场景下允许调试的设备ID列表。字符串数组可选不可缺省

你可能感兴趣的鸿蒙文章

harmony(鸿蒙)快速开始

harmony(鸿蒙)基本UI描述

harmony(鸿蒙)动态构建UI元素

harmony(鸿蒙)初识ArkTS语言

harmony(鸿蒙)渲染控制

harmony(鸿蒙)使用限制与扩展

harmony(鸿蒙)应用级变量的状态管理

harmony(鸿蒙)基本概念

harmony(鸿蒙)页面级变量的状态管理

harmony(鸿蒙)DevEco Studio(OpenHarmony)使用指南

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/b7584deb5c7c4201840ee194f20718dd