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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

鴻蒙應用中的幾種常見類型的文件

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

掃碼添加小助手

加入工程師交流群

應用中的幾種常見類型的文件

①Ability

Ability 是應用所具備的能力的抽象,一個應用可以包含一個或多個 Ability。

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

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

②庫文件

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

③資源文件

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

④配置文件

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

⑤pack.info

描述應用軟件包中每個 HAP 的屬性,由 IDE 編譯生成,應用市場根據(jù)該文件進行拆包和 HAP 的分類存儲。

HAP 的具體屬性包括:

delivery-with-install:表示該 HAP 是否支持隨應用安裝。

“true”表示支持隨應用安裝;

“false”表示不支持隨應用安裝。

name:HAP 文件名。

module-type:模塊類型,entry 或 feature。

device-type:表示支持該 HAP 運行的設備類型。

⑥HAR

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

HAR 不同于 HAP,HAR 不能獨立安裝運行在設備上,只能作為應用模塊的依賴項被引用。

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

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

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

所以我們代碼中的 entry 目錄其實就是一個應用的 Hap 包,它是 entry 類型的 Hap 包。接下來我們來了解下這些資源。

entry:應用的主模塊。一個 APP 中,對于同一設備類型必須有且只有一個 entry 類型的 HAP,可獨立安裝運行。

feature:應用的動態(tài)特性模塊。一個 APP 可以包含 0 個、一個或多個 feature 類型的 HAP。只有包含 Ability 的 HAP 才能夠獨立運行。

HAP 是 Ability 的部署包,HarmonyOS 應用代碼圍繞 Ability 組件展開,它是由一個或多個 Ability 組成。

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

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

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

其中gradle》wrapper》gradle-wrapper.properties 文件一般用于指定應用使用的 gradle 版本。

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

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

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

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

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

①entry》libs 目錄下用于存放第三方的 jar 包,是該 entry 模塊對第三方類庫的存放目錄。

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

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

entry》src》main》java 包括應用中所有的 java 文件,以包的形式進行組織。

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

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

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

resources 目錄包括兩大類目錄:

一類是 base 目錄與限定詞目錄,目錄中的資源文件會被編譯成二進制文件,并賦予資源文件 ID(能被 ResourceTable 索引,通過指定資源類型(type)和資源名稱(name)來引用)。

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

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

默認只包含一個string.json文件,程序員可根據(jù)自己的需要添加其他類型的文件,如圖 6 所示:

110e1b92-00ef-11ec-9bcf-12bb97331649.jpg

圖 6

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

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

boolean.json:布爾型資源

color.json:顏色資源

float.json:浮點型資源

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

integer.json:整型資源

pattern.json:樣式資源

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

strarray.json:字符串數(shù)組資源

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

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

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

resources》base》layout:表示布局資源,用 xml 文件來表示。

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

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

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

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

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

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

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

其中“app” 表示應用的全局配置信息,同一個應用的不同 HAP 包的“app”配置必須保持一致;“deviceConfig”表示應用在具體設備上的配置信息;“module”表示 HAP 包的配置信息。該標簽下的配置只對當前 HAP 包生效。

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

④entry》src》test:編寫代碼單元測試代碼的目錄,運行在本地 Java 虛擬機(JVM)上。

⑤entry》.gitignore:標識 git 版本管理需要忽略的文件。

責任編輯:haq

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

    關注

    218

    文章

    36003

    瀏覽量

    262090
  • 鴻蒙系統(tǒng)

    關注

    183

    文章

    2642

    瀏覽量

    69844
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36045

原文標題:一文搞懂鴻蒙OS應用的目錄結(jié)構(gòu)

文章出處:【微信號:Huawei_Kirin,微信公眾號:華為麒麟】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單相電機可以分為哪幾種類型?

    單相電機是家用電器和小型工業(yè)設備應用最廣泛的動力裝置之一,其結(jié)構(gòu)簡單、成本低廉的特點使其在220V交流電環(huán)境下具有不可替代的優(yōu)勢。根據(jù)工作原理和啟動方式的不同,單相電機主要可分為以下幾種類型
    的頭像 發(fā)表于 03-03 17:12 ?451次閱讀

    八大常見芯片封裝類型及應用!

    八個常見芯片封裝類型在芯片封裝就像半導體的“保護殼”,不僅能保護芯片核心,還直接決定芯片適配哪些產(chǎn)品、發(fā)揮多少性能。不管是日常用的手機、電腦,還是工業(yè)設備里的芯片,都離不開合適的封裝。今天就用通俗
    的頭像 發(fā)表于 02-02 15:01 ?566次閱讀
    八大<b class='flag-5'>常見</b>芯片封裝<b class='flag-5'>類型</b>及應用!

    軟國際鴻蒙生態(tài)“應用+智慧場景”的創(chuàng)新實踐

    8月31日,2025鴻蒙生態(tài)大會在深圳福田會展中心精彩繼續(xù)。應用的繁榮是鴻蒙生態(tài)發(fā)展壯大的基石,軟國際已支撐各行業(yè)超800款應用完成鴻蒙化適配,推動7500多個元服務上架。在本次大會
    的頭像 發(fā)表于 09-03 17:01 ?1109次閱讀

    【HarmonyOS 5】鴻蒙常見的標題欄布局方案

    【HarmonyOS 5】鴻蒙常見的標題欄布局方案 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、問題背景:
    的頭像 發(fā)表于 07-11 18:30 ?869次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b>中<b class='flag-5'>常見</b>的標題欄布局方案

    【HarmonyOS 5】鴻蒙中進度條的使用詳解

    【HarmonyOS 5】鴻蒙中進度條的使用詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、HarmonyOSProgress進度
    的頭像 發(fā)表于 07-11 18:26 ?1140次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b>中進度條的使用詳解

    【HarmonyOS 5】鴻蒙的UIAbility詳解(二)

    【HarmonyOS 5】鴻蒙的UIAbility詳解(二) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 今天我們繼續(xù)深入講解
    的頭像 發(fā)表于 07-11 18:17 ?919次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b><b class='flag-5'>中</b>的UIAbility詳解(二)

    鴻蒙Stage模型與FA模型詳解

    【HarmonyOS 5】鴻蒙Stage模型與FA模型詳解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 在HarmonyOS
    的頭像 發(fā)表于 07-07 11:50 ?911次閱讀

    UPS電源—選對UPS電源類型,這招絕了

    在選擇UPS(不間斷電源)類型時,需綜合考慮設備類型、功率需求、運行環(huán)境以及對電力保障的具體要求。下面聊一下幾種常見的UPS電源類型及其適用
    的頭像 發(fā)表于 06-24 18:54 ?795次閱讀
    UPS電源—選對UPS電源<b class='flag-5'>類型</b>,這招絕了

    常見的溫濕度傳感器類型?

    溫濕度傳感器是一種用于測量環(huán)境溫度和濕度的設備,廣泛應用于工業(yè)、農(nóng)業(yè)、氣象等領域。以下是幾種常見的溫濕度傳感器類型及其優(yōu)缺點: 電容式濕度傳感器 電容式濕度傳感器基于介電常數(shù)與相對濕度之間的關系來
    發(fā)表于 06-24 09:24

    【HarmonyOS 5】鴻蒙的UIAbility詳解(三)

    【HarmonyOS 5】鴻蒙的UIAbility詳解(三) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言 本文是
    的頭像 發(fā)表于 06-14 22:32 ?746次閱讀

    使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件

    應用調(diào)試 5.1 模擬器調(diào)試 點擊工具欄的 Tools > Device Manager 圖標 在彈出窗口中點擊 New Emulator 選擇設備類型和系統(tǒng)版本,點擊 Next 完成創(chuàng)建
    發(fā)表于 06-11 17:18

    在EMC,MOSFET 柵極驅(qū)動電路常見類型

    在EMC,MOSFET 柵極驅(qū)動電路常見類型
    的頭像 發(fā)表于 04-14 16:48 ?1141次閱讀
    在EMC<b class='flag-5'>中</b>,MOSFET 柵極驅(qū)動電路<b class='flag-5'>常見</b><b class='flag-5'>類型</b>

    貼片電容有哪些類型?在電子產(chǎn)品應用各自發(fā)揮哪些用途?

    隨著電子產(chǎn)品向著更高集成度、小型化和高性能方向發(fā)展,貼片電容作為電子元器件不可或缺的一環(huán),其應用范圍也越來越廣泛。不同類型的貼片電容針對各種應用場景具有各自獨特的優(yōu)勢和功能。本文將介紹幾種
    的頭像 發(fā)表于 03-24 17:59 ?1184次閱讀
    貼片電容有哪些<b class='flag-5'>類型</b>?在電子產(chǎn)品應用<b class='flag-5'>中</b>各自發(fā)揮哪些用途?

    常見網(wǎng)絡負載均衡的幾種方式

    常見網(wǎng)絡負載均衡的幾種方式包括:DNS負載均衡、反向代理負載均衡、IP負載均衡、應用層負載均衡、鏈路層負載均衡。以下是小編對幾種常見的網(wǎng)絡負載均衡方式及其詳細展開介紹。
    的頭像 發(fā)表于 03-06 11:14 ?1455次閱讀

    鴻蒙文件傳輸三方庫上線開源鴻蒙社區(qū) 十行代碼實現(xiàn)大文件高速傳輸

    、斷點續(xù)下、分片上傳、斷點續(xù)傳、自動重試等多個特性的高性能文件傳輸解決方案,讓開發(fā)者開箱即用,輕松實現(xiàn)高效穩(wěn)定的文件傳輸功能。 在應用開發(fā)過程,許多場景涉及到大文件的傳輸,尤其是在
    發(fā)表于 03-06 10:29