91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(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)類型的文件

①Ability

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

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

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

②庫(kù)文件

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

③資源文件

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

④配置文件

配置文件(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 的分類存儲(chǔ)。

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)被引用。

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

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

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

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

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

feature:應(yīng)用的動(dòng)態(tài)特性模塊。一個(gè) APP 可以包含 0 個(gè)、一個(gè)或多個(gè) feature 類型的 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 版本,依賴外部 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

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

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

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

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

①entry》libs 目錄下用于存放第三方的 jar 包,是該 entry 模塊對(duì)第三方類庫(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 類文件,如實(shí)現(xiàn)網(wǎng)絡(luò)操作、數(shù)據(jù)庫(kù)操作等業(yè)務(wù)類,用戶自定義的工具類等。需要注意的是,實(shí)現(xiàn)一個(gè)可視化的 Ability,Slice 并不是必須的。

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

resources 目錄包括兩大類目錄:

一類是 base 目錄與限定詞目錄,目錄中的資源文件會(huì)被編譯成二進(jìn)制文件,并賦予資源文件 ID(能被 ResourceTable 索引,通過(guò)指定資源類型(type)和資源名稱(name)來(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ù)自己的需要添加其他類型的文件。

但文件名稱建議和如下文件名稱一致:

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 基本的幾何圖形(如矩形、圓形、線等)等。

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

base》graphic:xml 類型的可繪制資源。

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)建。

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

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

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

resources》rawfile/profile 目錄:用于存儲(chǔ)任意格式的原始資源文件。允許程序員創(chuàng)建多層子目錄,目錄名稱可以自定義,目錄下也可以自由放置各類資源文件。該目錄的文件不會(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 版本、所依賴的資源(如 maven 庫(kù)、Jar 類庫(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

    文章

    4970

    瀏覽量

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

    關(guān)注

    5

    文章

    35

    瀏覽量

    14933
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2154

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    飛凌嵌入式ElfBoard-打開(kāi)目錄readdir

    目錄流。4.返回值成功:返回指向 dirent 結(jié)構(gòu)體的指針,該結(jié)構(gòu)體包含目錄項(xiàng)的信息。結(jié)束或錯(cuò)誤:當(dāng)目錄項(xiàng)讀取完畢或發(fā)生錯(cuò)誤時(shí),返回 N
    發(fā)表于 01-07 08:47

    飛凌嵌入式ElfBoard-打開(kāi)目錄opendir

    。這個(gè)路徑可以是相對(duì)路徑或絕對(duì)路徑。 4.返回值 成功:返回指向 DIR 結(jié)構(gòu)體的指針,該指針用于進(jìn)一步操作該目錄(如讀取目錄項(xiàng))。 失敗:返回 NULL,可以通過(guò) errno 獲取錯(cuò)誤信息。
    發(fā)表于 01-05 08:45

    2025 HarmonyOS Connect伙伴峰會(huì)暨軟通動(dòng)力分論壇圓滿落幕

    9月26日,HarmonyOS Connect伙伴峰會(huì)在深圳盛大召開(kāi),匯聚行業(yè)先鋒,共探鴻蒙智聯(lián)產(chǎn)品生態(tài)發(fā)展新路徑。軟通動(dòng)力作為HarmonyOS Connect核心供應(yīng)商受邀參會(huì),并成功舉辦
    的頭像 發(fā)表于 09-29 15:35 ?950次閱讀

    舵機(jī)原理簡(jiǎn)述!

    舵機(jī)原理簡(jiǎn)述 舵機(jī)是一種高精度的位置伺服執(zhí)行機(jī)構(gòu),廣泛應(yīng)用于機(jī)器人關(guān)節(jié)、無(wú)人機(jī)舵面控制、航模操控等場(chǎng)景,其核心功能是通過(guò)接收控制信號(hào),精確驅(qū)動(dòng)輸出軸旋轉(zhuǎn)到指定角度并保持穩(wěn)定。以下從結(jié)構(gòu)組成、控制
    的頭像 發(fā)表于 08-22 10:57 ?1933次閱讀

    Linux系統(tǒng)目錄結(jié)構(gòu)全面剖析

    Linux文件系統(tǒng)采用層次化的目錄結(jié)構(gòu),這種設(shè)計(jì)遵循了Unix哲學(xué)中的"一切皆文件"原則。理解Linux目錄層次架構(gòu)對(duì)于系統(tǒng)管理員、運(yùn)維工程師和開(kāi)發(fā)人員來(lái)說(shuō)至關(guān)重要,它不僅影響系統(tǒng)的組織方式,還直接關(guān)系到系統(tǒng)的可維護(hù)性、安全性和
    的頭像 發(fā)表于 07-21 17:33 ?795次閱讀

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

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、HarmonyOS中Progress進(jìn)度條的類型
    的頭像 發(fā)表于 07-11 18:26 ?1164次閱讀
    【<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ù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build: 構(gòu)建組件
    的頭像 發(fā)表于 07-11 18:24 ?1101次閱讀

    HarmonyOS 5】鴻蒙星閃NearLink詳解

    HarmonyOS 5】鴻蒙星閃NearLink詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、前言 鴻蒙星閃NearLink Kit
    的頭像 發(fā)表于 07-11 18:24 ?1914次閱讀
    【<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ù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、鴻蒙生態(tài)觀察 2024 年 1 月 18 日: 發(fā)布
    的頭像 發(fā)表于 07-11 18:20 ?977次閱讀
    【<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ù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、前言:移動(dòng)開(kāi)發(fā)聲明式 UI
    的頭像 發(fā)表于 07-07 11:57 ?1093次閱讀
    【 <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)答專區(qū) 華為生態(tài)市場(chǎng)-鴻蒙生態(tài)市場(chǎng)
    的頭像 發(fā)表于 06-27 00:11 ?804次閱讀

    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 ?1143次閱讀