鴻蒙基于ARKTS開發(fā)之初識(shí)框架-app.json5

當(dāng)我們新建一個(gè)工程或者獲取到一個(gè)新項(xiàng)目的時(shí)候 通常要從框架開始熟悉


WX20240201-160109@2x.png

-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à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,//可缺失

  }
}

app.json5配置信息表

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容