衡阳派盒市场营销有限公司

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

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

3天內不再提示

鴻蒙ArkUI-X跨平臺開發:【 應用工程結構說明】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-19 21:05 ? 次閱讀

ArkUI-X應用工程結構說明

簡介

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

應用工程目錄結構介紹

跨平臺應用工程目錄結構,包含一套為ArkUI開發者提供的應用工程模板,提供構建OpenHarmony應用,HarmonyOS應用,Android應用,iOS應用的能力。

ArkUI-X應用工程目錄結構
  ├── .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
此應用目錄結構設計思想是從OpenHarmony應用工程原生支持跨平臺角度出發,在OpenHarmony應用工程之上疊加Android和iOS應用工程,ArkTS代碼和resources資源在OpenHarmony側完成編譯,Native代碼仍在各自平臺應用工程中完成編譯。

編譯構建說明

  • ArkTS源碼

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

  • ArkUI應用資源

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

  • ArkUI框架資源

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

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

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

Android應用工程結構

ArkUI-X Android應用工程
├── app
│   ├── libs
│   │   ├── arkui_android_adapter.jar                   // ArkUI-X跨平臺適配層,在SDK中發布
│   │   └── arm64-v8a
│   │       └── libarkui_android.so                     // ArkUI-X跨平臺引擎庫,在SDK中發布
│   │       └── libhilog.so                             // ArkUI-X日志庫,在SDK中發布
│   │       └── libresourcemanager.so                   // ArkUI-X資源管理庫,在SDK中發布
│   ├── src
│   │   ├── androidTest
│   │   ├── main
│   │   │   ├── assets
│   │   │   │   └── arkui-x                             // ArkUI應用編譯后的字節碼文件和Resources,作為資源文件存放在assets/arkui-x中
│   │   │   │       ├── entry                           // ArkUI單個模塊的編譯結果
│   │   │   │       │   ├── ets                         // ArkUI單個模塊代碼的編譯結果:包括字節碼文件以及sourceMap文件
│   │   │   │       │   │   ├── sourceMaps.map
│   │   │   │       │   │   └── modules.abc
│   │   │   │       │   ├── resources.index             // ArkUI單個模塊資源的編譯結果:resources資源的編譯結果
│   │   │   │       │   ├── resources                   // resources資源中的rawfile資源,不會進行編譯。
│   │   │   │       │   └── module.json
│   │   │   │       ├── entry_test                      // ohosTest,僅僅Debug模式構建包含。
│   │   │   │       └── systemres                       // ArkUI框架自帶的系統資源
│   │   │   ├── 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應用工程結構

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

審核編輯 黃宇

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

    關注

    0

    文章

    370

    瀏覽量

    40918
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17542
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43050
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發學習:初探【ArkUI-X

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

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

    ACE Tools是一套為ArkUI-X項目平臺應用開發者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構
    的頭像 發表于 05-21 17:39 ?1981次閱讀
    <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'>開發</b>:【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺開發:【SDK目錄結構介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發框架擴展到不同的OS平臺,比如Android和iOS平臺,讓
    的頭像 發表于 05-20 16:28 ?880次閱讀
    <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'>開發</b>:【SDK目錄<b class='flag-5'>結構</b>介紹】

    鴻蒙ArkUI-X平臺開發:【bility開發說明(Android平臺)】

    本文介紹將ArkUI框架擴展到Android平臺所需要的必要的類及其使用說明開發者基于OpenHarmony,可復用大部分的應用代碼(生命周期等)并可以部署到Android
    的頭像 發表于 05-21 10:54 ?1050次閱讀
    <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'>開發</b>:【bility<b class='flag-5'>開發</b><b class='flag-5'>說明</b>(Android<b class='flag-5'>平臺</b>)】

    鴻蒙ArkUI-X平臺開發:【bility開發說明(iOS端)】

    本文介紹將ArkUI框架擴展到iOS平臺所需要的必要類及其使用說明開發者基于OpenHarmony,可復用大部分的應用代碼(生命周期等)并可以部署到iOS
    的頭像 發表于 05-21 14:35 ?962次閱讀
    <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'>開發</b>:【bility<b class='flag-5'>開發</b><b class='flag-5'>說明</b>(iOS端)】

    鴻蒙開發ArkUI-X基礎知識:【ArkUI平臺設計總體說明

    本文檔描述ArkUI開發框架平臺運行能力相關的總體技術方案。
    的頭像 發表于 05-24 15:41 ?1634次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>ArkUI-X</b>基礎知識:【<b class='flag-5'>ArkUI</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>設計總體<b class='flag-5'>說明</b>】

    鴻蒙開發ArkUI-X基礎知識:【ArkUI代碼工程及構建介紹】

    ArkUI作為OpenHarmony的默認開發框架,在本項目(ArkUI-X)中需要做到一套代碼同時支持多平臺構建,所以會采取共倉開發的方式
    的頭像 發表于 05-25 16:45 ?2187次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>ArkUI-X</b>基礎知識:【<b class='flag-5'>ArkUI</b>代碼<b class='flag-5'>工程</b>及構建介紹】

    ArkUI-X開發指南:【SDK配置和構建說明

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

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

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

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

    OpenHarmony項目群技術指導委員會(以下簡稱“TSC”)-平臺應用開發框架TSG所孵化項目 —— ArkUI-X,近期已正式開源 ,開發
    的頭像 發表于 08-22 22:19 ?884次閱讀
    資訊速遞 | <b class='flag-5'>ArkUI-X</b> 預覽版已正式開源!

    鴻蒙平臺框架:【ArkUi-X】創建工程

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

    鴻蒙ArkUI-X平臺技術:【開發準備】

    本文檔適用于ArkUI平臺應用開發的初學者。通過開發環境搭建、應用工程創建、編譯和運行,熟悉
    的頭像 發表于 05-24 10:40 ?568次閱讀
    <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'>開發</b>準備】

    鴻蒙ArkUI-X平臺技術:【開發初體驗】

    在DevEco Studio中導入ArkUI-X Sample,快速創建平臺工程
    的頭像 發表于 05-17 15:54 ?760次閱讀
    <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'>開發</b>初體驗】

    鴻蒙ArkUI-X語言調用說明平臺差異化【Android、ios動態化】

    ArkUI-X支持動態化,使用者可以根據自己需要動態發布平臺內容,從而使平臺部分和宿主應用進行解耦。
    的頭像 發表于 05-23 14:38 ?987次閱讀
    <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'>平臺</b>差異化【Android、ios動態化】

    鴻蒙ArkUI-X框架開發:【開發準備】

    本文檔適用于ArkUI-X框架開發的初學者。通過環境搭建、代碼下載、代碼編譯、API擴展和使用,快速了解平臺項目開發流程。
    的頭像 發表于 05-23 21:02 ?521次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b>框架<b class='flag-5'>開發</b>:【<b class='flag-5'>開發</b>準備】
    百家乐官网规律打法| 百家乐庄89| 中华德州扑克协会| 赌场百家乐官网赌场| 百家乐可以出千吗| 名山县| 百家乐实时路单| 516棋牌游戏中心| 哪个百家乐官网网站信誉好| 顶尖百家乐的玩法技巧和规则| 鄂尔多斯市| 壹贰博百家乐娱乐城| 百家乐官网游戏官网| 百家乐龙虎的投注法| 百家乐官网专打和局| 百家乐博彩网址| 大发888信誉888娱乐城| 百家乐官网娱乐网官网网| 大发888扑克| 大集汇百家乐官网的玩法技巧和规则 | 百家乐浴盆博彩通排名| 百家乐官网真钱牌九| 老虎百家乐的玩法技巧和规则| 娱乐场百家乐官网大都| 百家乐程序开户发| 玩百家乐官网如何硬| 百家乐送钱平台| 百家乐官网博彩的玩法技巧和规则| 什么棋牌游戏能赚钱| 百家乐有破解的吗| 百家乐官网游戏必赢法| 威尼斯人娱乐城真钱赌博| 迪威百家乐官网娱乐网| 德州扑克 下载| 百家乐赢足球博彩皇冠| 真人百家乐官网作假视频| 太阳城83| 永利百家乐官网的玩法技巧和规则| 蒙特卡罗国际网址| 中国百家乐技巧| 百家乐官网专业术语|