HarmonyOS學(xué)習(xí)路之開發(fā)基礎(chǔ)知識——應(yīng)用基礎(chǔ)知識
1
用戶應(yīng)用程序
用戶應(yīng)用程序泛指運(yùn)行在設(shè)備的操作系統(tǒng)之上,為用戶提供特定服務(wù)的程序,簡稱“應(yīng)用”。在HarmonyOS上運(yùn)行的應(yīng)用,有兩種形態(tài):
傳統(tǒng)方式的需要安裝的應(yīng)用。 提供特定功能,免安裝的應(yīng)用(即原子化服務(wù))。
2
用戶應(yīng)用程序包結(jié)構(gòu)
HarmonyOS的用戶應(yīng)用程序包以APP Pack(Application Package)形式發(fā)布,它是由一個(gè)或多個(gè)HAP(HarmonyOS Ability Package)以及描述每個(gè)HAP屬性的pack.info組成。HAP是Ability的部署包,HarmonyOS應(yīng)用代碼圍繞Ability組件展開。
一個(gè)HAP是由代碼、資源、第三方庫及應(yīng)用配置文件組成的模塊包可分為entry和feature兩種模塊類型,如圖1所示。
entry:應(yīng)用的主模塊。一個(gè)APP中,對于同一設(shè)備類型必須有且只有一個(gè)entry類型的HAP,可獨(dú)立安裝運(yùn)行。
feature:應(yīng)用的動(dòng)態(tài)特性模塊。一個(gè)APP可以包含一個(gè)或多個(gè)feature類型的HAP,也可以不含。只有包含Ability的HAP才能夠獨(dú)立運(yùn)行。
圖1 APP邏輯視圖
Ability
Ability是應(yīng)用所具備的能力的抽象,一個(gè)應(yīng)用可以包含一個(gè)或多個(gè)Ability。Ability分為兩種類型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是應(yīng)用的基本組成單元,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能。FA有UI界面,而PA無UI界面。
庫文件
庫文件是應(yīng)用依賴的第三方代碼(例如so、jar、bin、har等二進(jìn)制文件),存放在libs目錄。
資源文件
應(yīng)用的資源文件(字符串、圖片、音頻等)存放于resources目錄下,便于開發(fā)者使用和維護(hù),詳見資源文件的分類。
配置文件
配置文件 (config.json) 是應(yīng)用的Ability信息,用于聲明應(yīng)用的Ability,以及應(yīng)用所需權(quán)限等信息,詳見應(yīng)用配置文件。
pack.info
描述應(yīng)用軟件包中每個(gè)HAP的屬性,由IDE編譯生成,應(yīng)用市場根據(jù)該文件進(jìn)行拆包和HAP的分類存儲。HAP的具體屬性包括:
delivery-with-install: 表示該HAP是否支持隨應(yīng)用安裝。“true”表示支持隨應(yīng)用安裝;“false”表示不支持隨應(yīng)用安裝。
name:HAP文件名。
module-type:模塊類型,entry或feature。
device-type:表示支持該HAP運(yùn)行的設(shè)備類型。
HAR
HAR(HarmonyOS Ability Resources)可以提供構(gòu)建應(yīng)用所需的所有內(nèi)容,包括源代碼、資源文件和config.json文件。HAR不同于HAP,HAR不能獨(dú)立安裝運(yùn)行在設(shè)備上,只能作為應(yīng)用模塊的依賴項(xiàng)被引用。
往期推薦

