ArkUI-X應(yīng)用工程結(jié)構(gòu)說(shuō)明
簡(jiǎn)介
本文檔配套ArkUI-X,將OpenHarmony ArkUI開(kāi)發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開(kāi)發(fā)者基于ArkUI,可復(fù)用大部分的應(yīng)用代碼(UI以及主要應(yīng)用邏輯)并可以部署到相應(yīng)的OS平臺(tái),降低跨平臺(tái)應(yīng)用開(kāi)發(fā)成本。
應(yīng)用工程目錄結(jié)構(gòu)介紹
跨平臺(tái)應(yīng)用工程目錄結(jié)構(gòu),包含一套為ArkUI開(kāi)發(fā)者提供的應(yīng)用工程模板,提供構(gòu)建OpenHarmony應(yīng)用,HarmonyOS應(yīng)用,Android應(yīng)用,iOS應(yīng)用的能力。
ArkUI-X應(yīng)用工程目錄結(jié)構(gòu)
├── .arkui-x
│ ├── android // Android平臺(tái)相關(guān)代碼
│ └── ios // iOS平臺(tái)相關(guān)代碼
├── AppScope
├── entry
├── hvigor
├── build-profile.json5
├── hvigorfile.ts
├── hvigorw
├── hvigorw.bat
├── local.properties
└── oh-package.json5
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`
此應(yīng)用目錄結(jié)構(gòu)設(shè)計(jì)思想是從OpenHarmony應(yīng)用工程原生支持跨平臺(tái)角度出發(fā),在OpenHarmony應(yīng)用工程之上疊加Android和iOS應(yīng)用工程,ArkTS代碼和resources資源在OpenHarmony側(cè)完成編譯,Native代碼仍在各自平臺(tái)應(yīng)用工程中完成編譯。
編譯構(gòu)建說(shuō)明
- ArkTS源碼
ArkTS源碼通過(guò)OpenHarmony SDK工具鏈生成abc(Ark Byte Code),并分別拷貝到Android和iOS應(yīng)用工程,作為平臺(tái)應(yīng)用資源進(jìn)行管理。
- ArkUI應(yīng)用資源
ArkUI Resources資源也通過(guò)OpenHarmony SDK工具鏈進(jìn)行編譯,編譯后的ArkUI資源分別拷貝到Android和iOS應(yīng)用工程,作為平臺(tái)應(yīng)用資源進(jìn)行管理。
- ArkUI框架資源
ArkUI框架資源隨ArkUI-X SDK進(jìn)行發(fā)布,應(yīng)用構(gòu)建時(shí)會(huì)自動(dòng)打包到ArkUI-X應(yīng)用中,可保證ArkUI-X應(yīng)用在各平臺(tái)上UX渲染一致性。
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
綜上所述,Android平臺(tái)上通過(guò)assets管理ArkTS編譯產(chǎn)物、ArkUI應(yīng)用資源和ArkUI框架資源,iOS平臺(tái)上通過(guò)Bundle Resources管理ArkTS編譯產(chǎn)物、ArkUI應(yīng)用資源和ArkUI框架資源。
Android應(yīng)用工程結(jié)構(gòu)
ArkUI-X Android應(yīng)用工程
├── app
│ ├── libs
│ │ ├── arkui_android_adapter.jar // ArkUI-X跨平臺(tái)適配層,在SDK中發(fā)布
│ │ └── arm64-v8a
│ │ └── libarkui_android.so // ArkUI-X跨平臺(tái)引擎庫(kù),在SDK中發(fā)布
│ │ └── libhilog.so // ArkUI-X日志庫(kù),在SDK中發(fā)布
│ │ └── libresourcemanager.so // ArkUI-X資源管理庫(kù),在SDK中發(fā)布
│ ├── src
│ │ ├── androidTest
│ │ ├── main
│ │ │ ├── assets
│ │ │ │ └── arkui-x // ArkUI應(yīng)用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│ │ │ │ ├── entry // ArkUI單個(gè)模塊的編譯結(jié)果
│ │ │ │ │ ├── ets // ArkUI單個(gè)模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│ │ │ │ │ │ ├── sourceMaps.map
│ │ │ │ │ │ └── modules.abc
│ │ │ │ │ ├── resources.index // ArkUI單個(gè)模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│ │ │ │ │ ├── resources // resources資源中的rawfile資源,不會(huì)進(jìn)行編譯。
│ │ │ │ │ └── module.json
│ │ │ │ ├── entry_test // ohosTest,僅僅Debug模式構(gòu)建包含。
│ │ │ │ └── systemres // ArkUI框架自帶的系統(tǒng)資源
│ │ │ ├── java/com/example/mayapp
│ │ │ │ ├── MyApplication.java // 基于StageApplication擴(kuò)展MyApplication
│ │ │ │ └── EntryEntryAbilityActivity.java // 基于StageActivity擴(kuò)展EntryEntryAbilityActivity
│ │ │ ├── res
│ │ │ └── AndroidManifest.xml
│ │ └── test
│ ├── build.gradle
│ └── proguard-rules.pro
├── gradle/wrapper
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
iOS應(yīng)用工程結(jié)構(gòu)
ArkUI-X iOS應(yīng)用工程
├── app.xcodeproj
│ ├── project.xcworkspace
│ ├── xcuserdata
│ └── project.pbxproj
├── app
│ ├── Assets.xcassets
│ ├── Base.Iproj
│ ├── AppDelegate.h
│ ├── AppDelegate.m // 應(yīng)用入口, 驅(qū)動(dòng)StageApplication的生命周期
│ ├── EntryEntryAbilityViewController.h
│ ├── EntryEntryAbilityViewController.m // 基于StageViewController擴(kuò)展EntryEntryViewController
│ ├── Info.plist
│ └── main.m
├── arkui-x // ArkUI應(yīng)用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│ ├── entry // ArkUI單個(gè)模塊的編譯結(jié)果
│ │ ├── ets // ArkUI單個(gè)模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│ │ │ ├── sourceMaps.map
│ │ │ └── modules.abc
│ │ ├── resources.index // ArkUI單個(gè)模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│ │ ├── resources // resources資源中的rawfile資源,不會(huì)進(jìn)行編譯。
│ │ └── module.json
│ ├── entry_test // ohosTest,僅僅Debug模式構(gòu)建包含。
│ └── systemres // ArkUI框架自帶的系統(tǒng)資源
└── frameworks // ArkUI跨平臺(tái)Framework動(dòng)態(tài)庫(kù):包含ArkUI-X的框架以及插件
審核編輯 黃宇
-
開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
370瀏覽量
40844 -
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17489 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2352瀏覽量
42859
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論