HarmonyOS-Java 三、config.json詳解

config.json詳細(xì)細(xì)節(jié)

  1. 應(yīng)用的每個(gè)HAP的根目錄下都存在一個(gè)config.json 配置文件
    1)應(yīng)用全局配置信息,包含應(yīng)用包名,生產(chǎn)廠商,版本號等基本信息
    2)應(yīng)用在具體設(shè)備上的配置信息
    3)HAP包的配置信息,包含每個(gè)Ability必須定義的基本屬性
    4)應(yīng)用訪問系統(tǒng)或其他應(yīng)用受保護(hù)所需的權(quán)限
  2. config.json 文件
    1)屬性:不分先后 唯一的
    2)值:可以是 (數(shù)值 字符串 布爾值 數(shù)組 對象 或者 null)
  3. config.json 文件內(nèi)部結(jié)構(gòu)
    app 應(yīng)用的全局配置信息 每個(gè)模塊都是一樣的
    deviceConfig 在具體設(shè)備上的配置信息
    module HAP包配置信息
    每個(gè)模塊這三塊是缺一不可的

app:

{
  "app": { /*應(yīng)用的全局配置信息*/
    "bundleName": "com.example.mydemo",  /*應(yīng)用包名 唯一*/
    "vendor": "example",  /*是對應(yīng)用開發(fā)商的描述*/
    "version": {   /*應(yīng)用版本信息*/
      "code": 1000000,    /*版本號*/
      "name": "1.0.0"     /*版本名稱*/
    }
  },
  "apiVersion": {  /*應(yīng)用依賴鴻蒙API的版本*/
    "compatible": 5,   /*API 最小版本*/
    "target": 5       /*運(yùn)行需要的版本*/
  }
}

2 deviceConfig

"deviceConfig": {},  //應(yīng)用在具體設(shè)備上的信息

3 module

"module": {      /*HAP包配置信息 只對對應(yīng)的HAP包生效*/
    "package": "com.example.mydemo",   /*包名*/
    "name": ".MyApplication",  /*主入口類*/
    "mainAbility": "com.example.mydemo.MainAbility",
    "deviceType": [  /*當(dāng)前HAP包在什么設(shè)備上運(yùn)行,可以指定多個(gè)*/
      "phone",
      "tv"
    ],
    "distro": {     /*發(fā)布相關(guān)*/
      "deliveryWithInstall": true,   /*能不能隨著app安裝而安裝*/
      "moduleName": "entry",      /*模塊名字*/
      "moduleType": "entry",      /*模塊類型*/
      "installationFree": false
    },
    "abilities": [    /*HAP中所有的 Ability 都需要在這里注冊*/
      {
        "skills": [     /*這個(gè)Ability 接受Intent的特征 系統(tǒng)啟動(dòng)的頁面*/
          {
            "entities": [   /*類型*/
              "entity.system.home"   /*這個(gè)是鴻蒙系定義好的  系統(tǒng)主頁 可以自定義*/
            ],
            "actions": [  /*行為*/
              "action.system.home"   /*去app 主頁的行為  可以自定義*/
            ]
          }
        ],
        "orientation": "unspecified",  /*橫屏豎屏*/
       /* "unspecified",  跟隨系統(tǒng)
        "landscape",  橫屏
        "portrait",   豎屏
        "followRecent" 跟隨上一個(gè)頁面*/
        "name": "com.example.mydemo.MainAbility",   /*Ability名稱*/
        "icon": "$media:icon",    /*應(yīng)用圖標(biāo)*/
        "description": "$string:mainability_description", /*描述*/
        "label": "$string:entry_MainAbility",  /*顯示的名稱*/
        "type": "page",   /*Ability類型*/
        "launchType": "standard"    /*Ability啟動(dòng)模式*/
        /*"singleton",   可以有多個(gè)實(shí)例
        "standard",       只有一個(gè)實(shí)例
        "singleMissio*/"
      }
    ]
}

開發(fā)完成 了解一下 打包的APP

  1. HAP的分類
    HAP可分為 entry 和feature 兩種模塊類型:
    1). entry: 應(yīng)用的主模塊。
    一個(gè)APP中,對于同一設(shè)備類型必須有且只有一個(gè)entry 類型的HAP,可以獨(dú)立安裝運(yùn)行。
    2). feature: 應(yīng)用的動(dòng)態(tài)特性模塊
    一個(gè)app 可以包含零個(gè)或多個(gè) feature 類型的HAP

  2. HAP 的組成
    HAP是由代碼Ability,資源 應(yīng)用配置 第三方庫 等,只由包含Ability的HAP才能獨(dú)立運(yùn)行
    1). Ability
    一個(gè)應(yīng)用可以包含一個(gè)或多個(gè) Ability 是應(yīng)用所具備的能力
    Ability分為兩種類型 FA(Feature Ability) 和 PA(Particle Ability)
    FA有UI界面,PA沒有UI界面
    2). 庫文件
    第三方代碼 存放在libs目錄。
    3). 資源文件
    資源文件(字符串 圖片 音視頻等)存放于resources 目錄下
    4). 配置文件
    配置文件(config.json) 用于聲明Ability,版本信息,以及應(yīng)用所需權(quán)限等信息

  3. pack.info文件
    描述應(yīng)用軟件包中的每個(gè)HAP的屬性,由IDE編譯生成,應(yīng)用市場根據(jù)該文件進(jìn)行拆包和HAP的分類儲存。
    HAP的具體屬性包括:
    1)delivery-with-install:表示該HAP是否支持隨應(yīng)用安裝
    2)name:HAP 文件名稱
    3)module-type 模塊類型 ,entry 或 feature
    4)device-type:表示支持該HAP運(yùn)行的設(shè)備類型

上一篇: HarmonyOS-Java 二、創(chuàng)建布局文件

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

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