当我们新建一个工程或者获取到一个新项目的时候 通常要从框架开始熟悉
-AppScope中存放应用全局所需要的资源文件。
-entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
-hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新-
的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
-oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。
-build-profile.json5是模块级配置信息,包括编译构建配置项。
app.json5
这篇主要带大家熟悉下app.json5下都有啥,哪些是必须加,哪些是根据自己具体项目自行添加,哪些可忽略
{
"app": {
//标识应用的Bundle名称,用于标识应用的唯一性我们app的id标识,
//类似安卓的包名(application id),
//类似ios的bundle id
//用来打包发布或者一些三方工具用来标识自己app的id,一般和自己的项目相关起名,创建项目的时候就确定了的 一般情况不会改
"bundleName": "com.demo.myapplication",//不可缺失
//标识对应用开发厂商的描述。该标签的值是字符串类型(最大255个字节)
"vendor": "example",//可缺失
//标识应用的版本号,该标签值为32位非负整数。用来每次app升级用 每次升级大于之前版本的数字就行
"versionCode": 1000000,//不可缺失
//标识应用的版本号名称,用来每次app升级识别名称
"versionName": "1.0.0",//不可缺失
//icon--app的图标默认存放resource下base下media下 替换自己app的图标
"icon": "$media:app_icon",//不可缺失
//label--app的名称默认存放resource下base下element下 string.json下以key-value形式存放,修改value的值就可以改变app名称
"label": "$string:app_name",//不可缺失
//标识应用是否开启分布式通知,当开启分布式通知时,同一分布式组网下的两个设备(A和B),当设备A收到一条消息时,
//设备B会收到一条分布式消息用于设备B的使用者去查看设备A的消息。
"distributedNotificationEnabled": true,//可缺失
//标识应用的描述信息。取值为长度不超过255字节的字符串,内容为描述信息的字符串资源索引。
"description": "$string:description_application",//可缺失
//标识应用运行需要的SDK的API最小版本。
"minAPIVersion": 9,//自动生成
//标识应用运行需要的API目标版本。
"targetAPIVersion": 9,//自动生成
//标识应用运行需要的API目标版本的类型,
//采用字符串类型表示。
//取值为“CanaryN”、“BetaN”或者“Release”,其中,N代表大于零的整数。
//- Canary:受限发布的版本。
//- Beta:公开发布的Beta版本。
//- Release:公开发布的正式版本。
//!!!注意不写版本号会报错Release
//instancePath: 'app.apiReleaseType',
// keyword: 'pattern',
// params: { pattern: '^(Canary[1-9]d*)|(Beta[1-9]d*)|(Release[1-9]d*)$' },
// message: 'must match pattern "^(Canary[1-9]d*)|(Beta[1-9]d*)|(Release[1-9]d*)$"',
//hvigor ERROR: BUILD FAILED in 58 ms
"apiReleaseType": "Release9",//可缺失 自动生成
// 标识应用是否可调试。
// - true:可调试。
// - false:不可调式。
"debug": false,//可缺失
//标识鸿蒙一些特殊设备的api处理比如
// "car": {
// "minAPIVersion": 8,
// },
// "tv": {
// "minAPIVersion": 8,
// },
// "tablet": {
// "minAPIVersion": 8,
// },
// "wearable": {
// "minAPIVersion": 8,
// }
// 标识当前工程是否支持多个工程的联合开发。
// - true:当前工程支持多个工程的联合开发。多工程开发可参考多工程构建。
// - false:当前工程不支持多个工程的联合开发。
"multiProjects": false,
// 标识应用程序是否开启asan检测,用于辅助定位buffer越界造成的crash问题。
// - true:当前工程开启asan检测。
// - false:当前工程不开启asan检测。Release版本不支持开启asan检测。
"asanEnabled": false,//可缺失
}
}