0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

鴻蒙ArkUI-X跨平臺開發(fā):【 應用工程結(jié)構(gòu)說明】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-19 21:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ArkUI-X應用工程結(jié)構(gòu)說明

簡介

本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴展到不同的OS平臺,比如AndroidiOS平臺,讓開發(fā)者基于ArkUI,可復用大部分的應用代碼(UI以及主要應用邏輯)并可以部署到相應的OS平臺,降低跨平臺應用開發(fā)成本。

應用工程目錄結(jié)構(gòu)介紹

跨平臺應用工程目錄結(jié)構(gòu),包含一套為ArkUI開發(fā)者提供的應用工程模板,提供構(gòu)建OpenHarmony應用,HarmonyOS應用,Android應用,iOS應用的能力。

ArkUI-X應用工程目錄結(jié)構(gòu)
  ├── .arkui-x
  │   ├── android                 // Android平臺相關代碼
  │   └── ios                     // iOS平臺相關代碼
  ├── AppScope
  ├── entry
  ├── hvigor
  ├── build-profile.json5
  ├── hvigorfile.ts
  ├── hvigorw
  ├── hvigorw.bat
  ├── local.properties
  └── oh-package.json5
  
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151344.png
此應用目錄結(jié)構(gòu)設計思想是從OpenHarmony應用工程原生支持跨平臺角度出發(fā),在OpenHarmony應用工程之上疊加Android和iOS應用工程,ArkTS代碼和resources資源在OpenHarmony側(cè)完成編譯,Native代碼仍在各自平臺應用工程中完成編譯。

編譯構(gòu)建說明

  • ArkTS源碼

ArkTS源碼通過OpenHarmony SDK工具鏈生成abc(Ark Byte Code),并分別拷貝到Android和iOS應用工程,作為平臺應用資源進行管理。

  • ArkUI應用資源

ArkUI Resources資源也通過OpenHarmony SDK工具鏈進行編譯,編譯后的ArkUI資源分別拷貝到Android和iOS應用工程,作為平臺應用資源進行管理。

  • ArkUI框架資源

ArkUI框架資源隨ArkUI-X SDK進行發(fā)布,應用構(gòu)建時會自動打包到ArkUI-X應用中,可保證ArkUI-X應用在各平臺上UX渲染一致性。

開發(fā)前請熟悉鴻蒙開發(fā)指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

綜上所述,Android平臺上通過assets管理ArkTS編譯產(chǎn)物、ArkUI應用資源和ArkUI框架資源,iOS平臺上通過Bundle Resources管理ArkTS編譯產(chǎn)物、ArkUI應用資源和ArkUI框架資源。

Android應用工程結(jié)構(gòu)

ArkUI-X Android應用工程
├── app
│   ├── libs
│   │   ├── arkui_android_adapter.jar                   // ArkUI-X跨平臺適配層,在SDK中發(fā)布
│   │   └── arm64-v8a
│   │       └── libarkui_android.so                     // ArkUI-X跨平臺引擎庫,在SDK中發(fā)布
│   │       └── libhilog.so                             // ArkUI-X日志庫,在SDK中發(fā)布
│   │       └── libresourcemanager.so                   // ArkUI-X資源管理庫,在SDK中發(fā)布
│   ├── src
│   │   ├── androidTest
│   │   ├── main
│   │   │   ├── assets
│   │   │   │   └── arkui-x                             // ArkUI應用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│   │   │   │       ├── entry                           // ArkUI單個模塊的編譯結(jié)果
│   │   │   │       │   ├── ets                         // ArkUI單個模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│   │   │   │       │   │   ├── sourceMaps.map
│   │   │   │       │   │   └── modules.abc
│   │   │   │       │   ├── resources.index             // ArkUI單個模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│   │   │   │       │   ├── resources                   // resources資源中的rawfile資源,不會進行編譯。
│   │   │   │       │   └── module.json
│   │   │   │       ├── entry_test                      // ohosTest,僅僅Debug模式構(gòu)建包含。
│   │   │   │       └── systemres                       // ArkUI框架自帶的系統(tǒng)資源
│   │   │   ├── java/com/example/mayapp
│   │   │   │   ├── MyApplication.java                  // 基于StageApplication擴展MyApplication
│   │   │   │   └── EntryEntryAbilityActivity.java      // 基于StageActivity擴展EntryEntryAbilityActivity
│   │   │   ├── res
│   │   │   └── AndroidManifest.xml
│   │   └── test
│   ├── build.gradle
│   └── proguard-rules.pro
├── gradle/wrapper
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

iOS應用工程結(jié)構(gòu)

ArkUI-X iOS應用工程
├── app.xcodeproj
│   ├── project.xcworkspace
│   ├── xcuserdata
│   └── project.pbxproj
├── app
│   ├── Assets.xcassets
│   ├── Base.Iproj
│   ├── AppDelegate.h
│   ├── AppDelegate.m                               // 應用入口, 驅(qū)動StageApplication的生命周期
│   ├── EntryEntryAbilityViewController.h           
│   ├── EntryEntryAbilityViewController.m           // 基于StageViewController擴展EntryEntryViewController
│   ├── Info.plist
│   └── main.m
├── arkui-x                                         // ArkUI應用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│   ├── entry                                       // ArkUI單個模塊的編譯結(jié)果
│   │   ├── ets                                     // ArkUI單個模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│   │   │   ├── sourceMaps.map
│   │   │   └── modules.abc
│   │   ├── resources.index                         // ArkUI單個模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│   │   ├── resources                               // resources資源中的rawfile資源,不會進行編譯。
│   │   └── module.json
│   ├── entry_test                                  // ohosTest,僅僅Debug模式構(gòu)建包含。
│   └── systemres                                   // ArkUI框架自帶的系統(tǒng)資源
└── frameworks                                      // ArkUI跨平臺Framework動態(tài)庫:包含ArkUI-X的框架以及插件

審核編輯 黃宇

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

    關注

    0

    文章

    373

    瀏覽量

    41476
  • 框架
    +關注

    關注

    0

    文章

    404

    瀏覽量

    17865
  • 鴻蒙
    +關注

    關注

    59

    文章

    2588

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙開發(fā)學習:初探【ArkUI-X

    **簡單來說,ArkTS + ArkUI-X 對標的框架為 flutter,一次代碼,編譯為 native 全平臺運行**
    的頭像 發(fā)表于 05-13 15:58 ?1642次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>學習:初探【<b class='flag-5'>ArkUI-X</b>】

    鴻蒙ArkUI-X平臺開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項目平臺應用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構(gòu)
    的頭像 發(fā)表于 05-21 17:39 ?2843次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>:【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴展到不同的OS平臺,比如Android和iOS平臺,讓
    的頭像 發(fā)表于 05-20 16:28 ?1211次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發(fā)</b>:【SDK目錄<b class='flag-5'>結(jié)構(gòu)</b>介紹】

    ArkUI-X開發(fā)指南:【SDK配置和構(gòu)建說明

    ArkUI-X SDK是ArkUI-X開源項目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有Android和iOS應用工程中,使開發(fā)者基于
    的頭像 發(fā)表于 05-25 16:48 ?3482次閱讀
    <b class='flag-5'>ArkUI-X</b><b class='flag-5'>開發(fā)</b>指南:【SDK配置和構(gòu)建<b class='flag-5'>說明</b>】

    ArkUI-X平臺框架接入指南

    ArkUI平臺框架(ArkUI-X)進一步將ArkUI開發(fā)框架擴展到了多個OS
    發(fā)表于 05-18 18:21

    ArkUI-X平臺應用改造指南

    框架已有API進行開發(fā)。 ??根據(jù)當前ArkUI-X框架的適配現(xiàn)狀,可分為三種改造方式,結(jié)合架構(gòu)圖commons層 NetWork進行說明。至于工程中具體的文件部署細節(jié)詳見:
    發(fā)表于 06-16 23:05

    ArkUI-X平臺技術(shù)落地-華為運動健康(一)

    開發(fā)工作量以及保證體驗一致性,對于運動健康App而言,顯得尤為重要。作為鴻蒙NEXT系統(tǒng)生態(tài)中的重要一員,ArkUI-X框架是我們平臺技術(shù)
    發(fā)表于 06-18 22:53

    ArkUI-X平臺技術(shù)落地-華為運動健康(二)

    進行通信: 1.數(shù)據(jù)平臺的bridge -- 負責平臺業(yè)務層 和 數(shù)據(jù)平臺之間交互的接口定義; 2.設備類的bridge -- 負責上層業(yè)務層 和 設備能力之間的交互(目前由于
    發(fā)表于 06-18 23:04

    ArkUI-X用工程結(jié)構(gòu)說明

    )并可以部署到相應的OS平臺,降低平臺應用開發(fā)成本。 應用工程目錄結(jié)構(gòu)介紹
    發(fā)表于 06-19 23:11

    資訊速遞 | ArkUI-X 預覽版已正式開源!

    者快速擴展對應平臺上已有的能力。 ● ArkUI-X還提供了和OpenHarmony一致的測試框架:測試工程的目錄結(jié)構(gòu),同樣也和OpenHarmony的
    發(fā)表于 08-11 16:10

    鴻蒙平臺框架:【ArkUi-X】創(chuàng)建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個文章分享一下
    的頭像 發(fā)表于 05-13 17:48 ?1518次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>框架:【<b class='flag-5'>ArkUi-X</b>】創(chuàng)建<b class='flag-5'>工程</b>

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)準備】

    本文檔適用于ArkUI平臺應用開發(fā)的初學者。通過開發(fā)環(huán)境搭建、應用工程創(chuàng)建、編譯和運行,熟悉
    的頭像 發(fā)表于 05-24 10:40 ?966次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術(shù):【<b class='flag-5'>開發(fā)</b>準備】

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)初體驗】

    在DevEco Studio中導入ArkUI-X Sample,快速創(chuàng)建平臺工程。
    的頭像 發(fā)表于 05-17 15:54 ?1192次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術(shù):【<b class='flag-5'>開發(fā)</b>初體驗】

    鴻蒙ArkUI-X語言調(diào)用說明平臺差異化【Android、ios動態(tài)化】

    ArkUI-X支持動態(tài)化,使用者可以根據(jù)自己需要動態(tài)發(fā)布平臺內(nèi)容,從而使平臺部分和宿主應用進行解耦。
    的頭像 發(fā)表于 05-23 14:38 ?1457次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b>語言調(diào)用<b class='flag-5'>說明</b>:<b class='flag-5'>平臺</b>差異化【Android、ios動態(tài)化】

    ArkUI-X構(gòu)建Android平臺AAR及使用

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開發(fā),實現(xiàn)基于ArkTS的聲明式開發(fā)范式在android平臺顯示。包括: 1.
    的頭像 發(fā)表于 06-12 22:45 ?193次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品