一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡(jiǎn)述HarmonyOS 應(yīng)用的目錄結(jié)構(gòu)

華為麒麟 ? 來(lái)源:鴻蒙技術(shù)社區(qū) ? 作者: starLWW ? 2021-08-20 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

應(yīng)用中的幾種常見(jiàn)類(lèi)型的文件

①Ability

Ability 是應(yīng)用所具備的能力的抽象,一個(gè)應(yīng)用可以包含一個(gè)或多個(gè) Ability。

Ability 分為兩種類(lèi)型:FA(Feature Ability,中文名稱(chēng):元程序)和 PA(Particle Ability,中文名稱(chēng):元服務(wù))。

FA/PA 是應(yīng)用的基本組成單元,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能。FA 有 UI 界面,而 PA 無(wú) UI 界面。

②庫(kù)文件

庫(kù)文件是應(yīng)用依賴(lài)的第三方代碼(例如 so、jar、bin、har 等二進(jìn)制文件),存放在 libs 目錄。

③資源文件

應(yīng)用的資源文件(字符串、圖片、音頻等)存放于 resources 目錄下,便于開(kāi)發(fā)者使用和維護(hù),詳見(jiàn)資源文件的分類(lèi)。

④配置文件

配置文件(config.json)是應(yīng)用的 Ability 信息,用于聲明應(yīng)用的 Ability,以及應(yīng)用所需權(quán)限等信息,詳見(jiàn)應(yīng)用配置文件。

⑤pack.info

描述應(yīng)用軟件包中每個(gè) HAP 的屬性,由 IDE 編譯生成,應(yīng)用市場(chǎng)根據(jù)該文件進(jìn)行拆包和 HAP 的分類(lèi)存儲(chǔ)。

HAP 的具體屬性包括:

delivery-with-install:表示該 HAP 是否支持隨應(yīng)用安裝。

“true”表示支持隨應(yīng)用安裝;

“false”表示不支持隨應(yīng)用安裝。

name:HAP 文件名。

module-type:模塊類(lèi)型,entry 或 feature。

device-type:表示支持該 HAP 運(yùn)行的設(shè)備類(lèi)型。

⑥HAR

HAR(HarmonyOS Ability Resources)可以提供構(gòu)建應(yīng)用所需的所有內(nèi)容,包括源代碼、資源文件和 config.json 文件。

HAR 不同于 HAP,HAR 不能獨(dú)立安裝運(yùn)行在設(shè)備上,只能作為應(yīng)用模塊的依賴(lài)項(xiàng)被引用。

HarmonyOS 應(yīng)用的目錄結(jié)構(gòu)

HarmonyOS 應(yīng)用發(fā)布形態(tài)為 APP Pack(Application Package,簡(jiǎn)稱(chēng) APP),它是由一個(gè)或多個(gè) HAP(HarmonyOS Ability Package)包以及描述每個(gè) HAP(Ability 的部署包)屬性的 pack.info 文件組成。

Hap 包又可以分為 entry 類(lèi)型和 feature 類(lèi)型,每個(gè) Hap 包由:代碼、資源、第三方庫(kù)及應(yīng)用配置文件組成。

所以我們代碼中的 entry 目錄其實(shí)就是一個(gè)應(yīng)用的 Hap 包,它是 entry 類(lèi)型的 Hap 包。接下來(lái)我們來(lái)了解下這些資源。

entry:應(yīng)用的主模塊。一個(gè) APP 中,對(duì)于同一設(shè)備類(lèi)型必須有且只有一個(gè) entry 類(lèi)型的 HAP,可獨(dú)立安裝運(yùn)行。

feature:應(yīng)用的動(dòng)態(tài)特性模塊。一個(gè) APP 可以包含 0 個(gè)、一個(gè)或多個(gè) feature 類(lèi)型的 HAP。只有包含 Ability 的 HAP 才能夠獨(dú)立運(yùn)行。

HAP 是 Ability 的部署包,HarmonyOS 應(yīng)用代碼圍繞 Ability 組件展開(kāi),它是由一個(gè)或多個(gè) Ability 組成。

一個(gè)典型的 HarmonyOS 應(yīng)用的具體目錄結(jié)構(gòu)如圖 2 所示,主要包括 entry、gradle 目錄等,其中的 build 目錄是應(yīng)用編譯構(gòu)建成功后自動(dòng)生成的目錄。

0ff0464a-00ef-11ec-9bcf-12bb97331649.jpg

HarmonyOS 應(yīng)用目錄結(jié)構(gòu)圖

setting.gradle 文件用于指定應(yīng)用包含哪些 entry 或 feature 模塊。

build.gradle 文件是應(yīng)用的環(huán)境配置文件,如指定編譯應(yīng)用程序使用的 sdk 版本,依賴(lài)外部 maven 庫(kù)等。

gradle 目錄是 gradle 的配置文件,由系統(tǒng)自動(dòng)生成,一般情況下不需要進(jìn)行修改。

其中g(shù)radle》wrapper》gradle-wrapper.properties 文件一般用于指定應(yīng)用使用的 gradle 版本。

build 目錄是在編譯構(gòu)建過(guò)程中生成的,該目錄中主要包含該 entry 編譯生成的 hap 包及其對(duì)應(yīng)的描述文件 pack.info,以及用于索引所有資源文件的 ResourceTable 文件。

圖 3

特別注意的是:所有資源如包括控件名稱(chēng)、字符串常量、動(dòng)畫(huà)資源、長(zhǎng)度資源、布局資源、圖片、音視頻資源等都將在 ResourceTable 文件中生成唯一的靜態(tài)整型索引常量。

通過(guò)這個(gè)索引可以訪(fǎng)問(wèn)到具體的資源,如 Java 代碼中得到名稱(chēng)為 ability_main.xml 布局文件的方法:ResourceTable.Layout_ability_main。

entry 是該應(yīng)用的主模塊,其目錄下包含 build、libs、src 目錄和一個(gè)主要的 build.gradle 文件。

entry 中各目錄及文件含義如下:

①entry》libs 目錄下用于存放第三方的 jar 包,是該 entry 模塊對(duì)第三方類(lèi)庫(kù)的存放目錄。

②entry》src 目錄是該 entry 模塊的所有源程序目錄,我們重點(diǎn)關(guān)注該目錄中的 main 目錄和 config.json 文件。

main 目錄下包含 java 和 resources 目錄。

entry》src》main》java 包括應(yīng)用中所有的 java 文件,以包的形式進(jìn)行組織。

一個(gè)可視化的 Ability(FA)的呈現(xiàn)包含的 3 個(gè)文件,其中的 Slice 和 Ability 都在 main 目錄下。

該目錄下還可以添加其他業(yè)務(wù)邏輯處理的 java 類(lèi)文件,如實(shí)現(xiàn)網(wǎng)絡(luò)操作、數(shù)據(jù)庫(kù)操作等業(yè)務(wù)類(lèi),用戶(hù)自定義的工具類(lèi)等。需要注意的是,實(shí)現(xiàn)一個(gè)可視化的 Ability,Slice 并不是必須的。

entry》src》main》resources 目錄是所有資源文件所在的目錄。

resources 目錄包括兩大類(lèi)目錄:

一類(lèi)是 base 目錄與限定詞目錄,目錄中的資源文件會(huì)被編譯成二進(jìn)制文件,并賦予資源文件 ID(能被 ResourceTable 索引,通過(guò)指定資源類(lèi)型(type)和資源名稱(chēng)(name)來(lái)引用)。

另一類(lèi)是 rawfile 目錄,目錄中的資源文件會(huì)被直接打包進(jìn)應(yīng)用,不經(jīng)過(guò)編譯,也不會(huì)被賦予資源文件 ID(不能被 ResourceTable 索引,通過(guò)指定文件路徑和文件名來(lái)引用)。

resources》base》element:表示字符串、整型數(shù)、顏色、樣式等常量資源,采用相應(yīng)的JSON文件來(lái)表示,可以在其他地方被引用。

默認(rèn)只包含一個(gè)string.json文件,程序員可根據(jù)自己的需要添加其他類(lèi)型的文件。

但文件名稱(chēng)建議和如下文件名稱(chēng)一致:

strings.json:字符串值資源(默認(rèn)包含)

boolean.json:布爾型資源

color.json:顏色資源

float.json:浮點(diǎn)型資源

intarray.json:整型數(shù)組資源

integer.json:整型資源

pattern.json:樣式資源

plural.json:復(fù)數(shù)形式資源

strarray.json:字符串?dāng)?shù)組資源

resources》base》graphic:表示可繪制資源,如 SVG(Scalable Vector Graphics)可縮放矢量圖形文件、Shape 基本的幾何圖形(如矩形、圓形、線(xiàn)等)等。

用 xml 文件來(lái)表示,比如我們項(xiàng)目中設(shè)置的圓角按鈕、按鈕顏色等都是通過(guò)引用這里的資源來(lái)統(tǒng)一管理的:

base》graphic:xml 類(lèi)型的可繪制資源。

resources》base》layout:表示布局資源,用 xml 文件來(lái)表示。

resources》base》media:表示媒體資源,包括圖片、音頻、視頻等非文本格式的文件,支持的文件格式包括:.png、.gif、.mp3、.mp4 等。

resources》限定詞目錄:en_…,如 en_element、zh_element、en_GB-vertical-car-mdpi 等。限定詞目錄需要開(kāi)發(fā)者自行創(chuàng)建。

目錄名稱(chēng)由一個(gè)或多個(gè)表征應(yīng)用場(chǎng)景或設(shè)備特征的限定詞組合而成,可以包含移動(dòng)國(guó)家碼和移動(dòng)網(wǎng)絡(luò)碼、語(yǔ)言、文字、橫豎屏、設(shè)備類(lèi)型、顏色模式等限定詞。

對(duì)應(yīng)限定詞的取值必須與當(dāng)前的設(shè)備狀態(tài)完全一致,該目錄才能夠參與設(shè)備的資源匹配。

例如,限定詞目錄“zh_CN-car-ldpi”不能參與“en_US”設(shè)備的資源匹配。

resources》rawfile/profile 目錄:用于存儲(chǔ)任意格式的原始資源文件。允許程序員創(chuàng)建多層子目錄,目錄名稱(chēng)可以自定義,目錄下也可以自由放置各類(lèi)資源文件。該目錄的文件不會(huì)根據(jù)設(shè)備狀態(tài)去匹配不同的資源。

entry》src》main》config.json 文件是 entry(或 feature)的配置文件,由“app”、“deviceConfig”和“module”三個(gè)部分組成,缺一不可。

其中“app” 表示應(yīng)用的全局配置信息,同一個(gè)應(yīng)用的不同 HAP 包的“app”配置必須保持一致;“deviceConfig”表示應(yīng)用在具體設(shè)備上的配置信息;“module”表示 HAP 包的配置信息。該標(biāo)簽下的配置只對(duì)當(dāng)前 HAP 包生效。

③entry》build.gradle:entry 模塊的編譯配置文件,包括 entry 使用的 SDK 版本、所依賴(lài)的資源(如 maven 庫(kù)、Jar 類(lèi)庫(kù)等)。

④entry》src》test:編寫(xiě)代碼單元測(cè)試代碼的目錄,運(yùn)行在本地 Java 虛擬機(jī)(JVM)上。

⑤entry》.gitignore:標(biāo)識(shí) git 版本管理需要忽略的文件。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70718
  • 庫(kù)文件
    +關(guān)注

    關(guān)注

    5

    文章

    33

    瀏覽量

    14711
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33019
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、HarmonyOS中Progress進(jìn)度條的類(lèi)型
    的頭像 發(fā)表于 07-11 18:26 ?216次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)

    HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build: 構(gòu)建組件
    的頭像 發(fā)表于 07-11 18:24 ?284次閱讀

    HarmonyOS 5】鴻蒙星閃NearLink詳解

    HarmonyOS 5】鴻蒙星閃NearLink詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言 鴻蒙星閃NearLink Kit
    的頭像 發(fā)表于 07-11 18:24 ?300次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙星閃NearLink詳解

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、鴻蒙生態(tài)觀察 2024 年 1 月 18 日: 發(fā)布
    的頭像 發(fā)表于 07-11 18:20 ?280次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    HarmonyOS AI輔助編程工具(CodeGenie)UI生成

    > main > resources目錄包含文本、圖像、顏色資源。 不支持生成的組件、屬性會(huì)以注釋的形式給出,方便后續(xù)定位修改。 以上材料主要參考引用HarmonyOS官方文檔。
    發(fā)表于 07-10 11:51

    迅為RK3568開(kāi)發(fā)板基本工程目錄-工程級(jí)目錄

    FA 模型和 Stage 模型的工程目錄是存在差異的,接下來(lái)我們以之前新建的工程—— helloworld 為例,介紹一下 ArkTS 工程目錄結(jié)構(gòu)(Stage 模型)。 工程的目錄
    發(fā)表于 07-10 10:45

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言:移動(dòng)開(kāi)發(fā)聲明式 UI
    的頭像 發(fā)表于 07-07 11:57 ?148次閱讀
    【 <b class='flag-5'>HarmonyOS</b> 5 入門(mén)系列 】鴻蒙<b class='flag-5'>HarmonyOS</b>示例項(xiàng)目講解

    HarmonyOS入門(mén)指南

    1、文檔與教程 HarmonyOS開(kāi)發(fā)文檔-應(yīng)用開(kāi)發(fā)導(dǎo)讀 OpenHarmony--應(yīng)用開(kāi)發(fā)導(dǎo)讀 倉(cāng)頡編程語(yǔ)言官網(wǎng) 華為開(kāi)發(fā)者博客 華為開(kāi)發(fā)者問(wèn)答專(zhuān)區(qū) 華為生態(tài)市場(chǎng)-鴻蒙生態(tài)市場(chǎng)
    的頭像 發(fā)表于 06-27 00:11 ?112次閱讀

    HarmonyOS5云服務(wù)技術(shù)分享--Serverless抽獎(jiǎng)模板部署

    startRaffle) 結(jié)束抽獎(jiǎng)回調(diào)函數(shù)(比如endRaffle) 記下函數(shù)名,后續(xù)配置要用到 3?? ??工程包準(zhǔn)備?? 下載官方提供的抽獎(jiǎng)模板工程包 解壓后重點(diǎn)檢查portal/dist目錄結(jié)構(gòu) 記得
    發(fā)表于 05-22 20:25

    軟通動(dòng)力亮相華為HarmonyOS Connect伙伴峰會(huì)

    近日,以“一起創(chuàng)造無(wú)限可能,同風(fēng)起,耀星河”為主題的HarmonyOS Connect伙伴峰會(huì)在上海召開(kāi)。作為首批HarmonyOS Connect生態(tài)解決方案商,軟通動(dòng)力受邀出席峰會(huì),與華為簽署HarmonyOS Connec
    的頭像 發(fā)表于 03-20 15:40 ?484次閱讀

    HarmonyOS開(kāi)發(fā)指導(dǎo)類(lèi)文檔更新速遞(下)

    伴隨著HarmonyOS 5.0.0 Release、HarmonyOS 5.0.1 Release版本的發(fā)布,HarmonyOS官網(wǎng)文檔也帶來(lái)了不少上新內(nèi)容。本期HarmonyOS
    的頭像 發(fā)表于 12-30 09:54 ?1153次閱讀
    <b class='flag-5'>HarmonyOS</b>開(kāi)發(fā)指導(dǎo)類(lèi)文檔更新速遞(下)

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場(chǎng)潛力,在國(guó)產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開(kāi)發(fā)者也能享受HarmonyOS生態(tài)的紅利。AWTK全稱(chēng)
    的頭像 發(fā)表于 11-06 08:03 ?841次閱讀
    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(<b class='flag-5'>HarmonyOS</b> Next)

    【米爾NXP i.MX 93開(kāi)發(fā)板試用評(píng)測(cè)】3、NXP的MCU工程目錄結(jié)構(gòu)和源碼分析

    環(huán)境無(wú)縫集成。 而NXP的項(xiàng)目工程,可以說(shuō)是CMake工程的優(yōu)秀示范。 目錄結(jié)構(gòu) 這種目錄結(jié)構(gòu)有助于提高軟件開(kāi)發(fā)的效率和質(zhì)量,特別是在大型項(xiàng)目和團(tuán)隊(duì)合作的環(huán)境中。通過(guò)合理的組織和模塊化
    發(fā)表于 09-21 21:11

    簡(jiǎn)述基本與非門(mén)sr鎖存器的結(jié)構(gòu)及工作原理

    。以下是對(duì)其基本結(jié)構(gòu)及工作原理的簡(jiǎn)述: 一、結(jié)構(gòu) 基本與非門(mén)SR鎖存器主要由兩個(gè)與非門(mén)組成,這兩個(gè)與非門(mén)的輸出分別連接到對(duì)方的輸入端,形成交叉反饋的結(jié)構(gòu)。具體來(lái)說(shuō),鎖存器有兩個(gè)輸入端S
    的頭像 發(fā)表于 08-28 11:01 ?4240次閱讀

    簡(jiǎn)述半導(dǎo)體原理——晶體管家族的核心工作機(jī)制

    簡(jiǎn)述半導(dǎo)體原理——晶體管家族的核心工作機(jī)制
    的頭像 發(fā)表于 07-20 08:14 ?1662次閱讀
    <b class='flag-5'>簡(jiǎn)述</b>半導(dǎo)體原理——晶體管家族的核心工作機(jī)制