當(dāng)我們新建一個(gè)工程或者獲取到一個(gè)新項(xiàng)目的時(shí)候 通常要從框架開始熟悉
-AppScope中存放應(yīng)用全局所需要的資源文件砰识。
-entry是應(yīng)用的主模塊,存放HarmonyOS應(yīng)用的代碼迟郎、資源等。
-hvigorfile.ts是工程級(jí)編譯構(gòu)建任務(wù)腳本聪蘸,hvigor是基于任務(wù)管理機(jī)制實(shí)現(xiàn)的一款全新-
的自動(dòng)化構(gòu)建工具宪肖,主要提供任務(wù)注冊(cè)編排,工程模型管理健爬、配置管理等核心能力控乾。
-oh-package.json5是工程級(jí)依賴配置文件,用于記錄引入包的配置信息娜遵。
-build-profile.json5是模塊級(jí)配置信息蜕衡,包括編譯構(gòu)建配置項(xiàng)。
app.json5
這篇主要帶大家熟悉下app.json5下都有啥设拟,哪些是必須加慨仿,哪些是根據(jù)自己具體項(xiàng)目自行添加,哪些可忽略
{
"app": {
//標(biāo)識(shí)應(yīng)用的Bundle名稱纳胧,用于標(biāo)識(shí)應(yīng)用的唯一性我們app的id標(biāo)識(shí)镰吆,
//類似安卓的包名(application id),
//類似ios的bundle id
//用來打包發(fā)布或者一些三方工具用來標(biāo)識(shí)自己app的id跑慕,一般和自己的項(xiàng)目相關(guān)起名万皿,創(chuàng)建項(xiàng)目的時(shí)候就確定了的 一般情況不會(huì)改
"bundleName": "com.demo.myapplication",//不可缺失
//標(biāo)識(shí)對(duì)應(yīng)用開發(fā)廠商的描述。該標(biāo)簽的值是字符串類型(最大255個(gè)字節(jié))
"vendor": "example",//可缺失
//標(biāo)識(shí)應(yīng)用的版本號(hào)核行,該標(biāo)簽值為32位非負(fù)整數(shù)相寇。用來每次app升級(jí)用 每次升級(jí)大于之前版本的數(shù)字就行
"versionCode": 1000000,//不可缺失
//標(biāo)識(shí)應(yīng)用的版本號(hào)名稱,用來每次app升級(jí)識(shí)別名稱
"versionName": "1.0.0",//不可缺失
//icon--app的圖標(biāo)默認(rèn)存放resource下base下media下 替換自己app的圖標(biāo)
"icon": "$media:app_icon",//不可缺失
//label--app的名稱默認(rèn)存放resource下base下element下 string.json下以key-value形式存放钮科,修改value的值就可以改變app名稱
"label": "$string:app_name",//不可缺失
//標(biāo)識(shí)應(yīng)用是否開啟分布式通知唤衫,當(dāng)開啟分布式通知時(shí),同一分布式組網(wǎng)下的兩個(gè)設(shè)備(A和B)绵脯,當(dāng)設(shè)備A收到一條消息時(shí)佳励,
//設(shè)備B會(huì)收到一條分布式消息用于設(shè)備B的使用者去查看設(shè)備A的消息休里。
"distributedNotificationEnabled": true,//可缺失
//標(biāo)識(shí)應(yīng)用的描述信息。取值為長(zhǎng)度不超過255字節(jié)的字符串赃承,內(nèi)容為描述信息的字符串資源索引妙黍。
"description": "$string:description_application",//可缺失
//標(biāo)識(shí)應(yīng)用運(yùn)行需要的SDK的API最小版本。
"minAPIVersion": 9,//自動(dòng)生成
//標(biāo)識(shí)應(yīng)用運(yùn)行需要的API目標(biāo)版本瞧剖。
"targetAPIVersion": 9,//自動(dòng)生成
//標(biāo)識(shí)應(yīng)用運(yùn)行需要的API目標(biāo)版本的類型拭嫁,
//采用字符串類型表示。
//取值為“CanaryN”抓于、“BetaN”或者“Release”做粤,其中,N代表大于零的整數(shù)捉撮。
//- Canary:受限發(fā)布的版本怕品。
//- Beta:公開發(fā)布的Beta版本。
//- Release:公開發(fā)布的正式版本巾遭。
//H饪怠!灼舍!注意不寫版本號(hào)會(huì)報(bào)錯(cuò)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",//可缺失 自動(dòng)生成
// 標(biāo)識(shí)應(yīng)用是否可調(diào)試吼和。
// - true:可調(diào)試。
// - false:不可調(diào)式骑素。
"debug": false,//可缺失
//標(biāo)識(shí)鴻蒙一些特殊設(shè)備的api處理比如
// "car": {
// "minAPIVersion": 8,
// },
// "tv": {
// "minAPIVersion": 8,
// },
// "tablet": {
// "minAPIVersion": 8,
// },
// "wearable": {
// "minAPIVersion": 8,
// }
// 標(biāo)識(shí)當(dāng)前工程是否支持多個(gè)工程的聯(lián)合開發(fā)纹安。
// - true:當(dāng)前工程支持多個(gè)工程的聯(lián)合開發(fā)。多工程開發(fā)可參考多工程構(gòu)建砂豌。
// - false:當(dāng)前工程不支持多個(gè)工程的聯(lián)合開發(fā)厢岂。
"multiProjects": false,
// 標(biāo)識(shí)應(yīng)用程序是否開啟asan檢測(cè),用于輔助定位buffer越界造成的crash問題阳距。
// - true:當(dāng)前工程開啟asan檢測(cè)塔粒。
// - false:當(dāng)前工程不開啟asan檢測(cè)。Release版本不支持開啟asan檢測(cè)筐摘。
"asanEnabled": false,//可缺失
}
}