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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:48 ? 次閱讀

ArkUI-X SDK配置和構(gòu)建說明

ArkUI-X SDK是ArkUI-X開源項(xiàng)目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有AndroidiOS應(yīng)用工程中,使開發(fā)者基于一套ArkTS主代碼,就可以構(gòu)建支持多平臺(tái)的精美、高性能應(yīng)用。SDK內(nèi)容包含ArkUI跨平臺(tái)運(yùn)行時(shí),組件和接口插件庫,以及ACE Tools命令行工具。

ArkUI-X SDK
├── engine                   // ArkUI-X的引擎庫
│   ├── lib                  // ArkUI-X的引擎庫:包括Android平臺(tái)及架構(gòu)的動(dòng)態(tài)庫。
│   ├── framework            // ArkUI-X的引擎庫:包括iOS平臺(tái)及架構(gòu)的Framework庫。
│   ├── xcframework          // ArkUI-X的引擎庫:包括iOS平臺(tái)及架構(gòu)的XCFramework庫。
│   ├── ets                  // ArkUI-X增量接口,比如:@arkui-x.bridge
│   ├── apiConfig.json       // engine庫配置文件,用于IDE和ACE Tools解析,以支持應(yīng)用構(gòu)建按需打包。
│   └── systemres            // ArkUI-X框架自帶的資源。
├── plugins                  // ArkUI-X官方提供的插件庫
│   ├── component            // ArkUI組件插件庫,apiConfig.json
│   └── api                  // @ohos接口插件庫,apiConfig.json
├── toolchains               // ArkUI-X應(yīng)用開發(fā)工具,比如:ACE Tools。
├── sdkConfig.json           // 增量d.ts路徑和接口前綴配置
├── arkui-x.json             // SDK管理配置,流水線自動(dòng)生成
└── NOTICE.txt

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151450.png
下面將分別講述:如何配置ArkUI-X SDK內(nèi)容白名單,如何編譯生成ArkUI-X SDK包,以及如何驗(yàn)證調(diào)試生成的ArkUI-X SDK包。

ArkUI-SDK配置說明

這里,ArkUI-SDK白名單內(nèi)容配置以@ohos接口跨平臺(tái)實(shí)現(xiàn)為例,并通過[@ohos.i18n (國際化-I18n)]進(jìn)行講述。

@ohos.i18n接口跨平臺(tái)實(shí)現(xiàn)

  • ArkUI-X社區(qū)代碼倉為:gitee.com/arkui-x/plugins
  • @ohos.i18n接口定義跨平臺(tái)實(shí)現(xiàn)開發(fā)倉目錄為:gitee.com/arkui-x/plugins/tree/master/i18n

這里,對(duì)于@ohos.i18n接口定義如何具體實(shí)現(xiàn)不做詳細(xì)描述,可請(qǐng)參考:[Android平臺(tái)擴(kuò)展@ohos接口]和[iOS平臺(tái)擴(kuò)展@ohos接口]。

  • @ohos.i18n接口定義跨平臺(tái)實(shí)現(xiàn)后,提供i18n_static_android和i18n_static_ios兩個(gè)[靜態(tài)鏈接Targets]。根據(jù)模塊名規(guī)則,@ohos.i18n的模塊名為i18n,需配置在插件列表中[common_plugin_libs],作為插件模板(plugin_lib)的輸入。
  • plugin_lib模板會(huì)在[arkui_for_android倉]和[arkui_for_ios倉]進(jìn)行調(diào)用。分別生成動(dòng)態(tài)鏈接Targets:
    • //foundation/arkui/ace_engine/adapter/android/build:i18n
    • //foundation/arkui/ace_engine/adapter/ios/build:libi18n
  • 由于i18n涉及Android平臺(tái)接口調(diào)用,還會(huì)提供Java Library GN Targets://plugins/i18n/android/java:i18n_plugin_java

@ohos.i18n SDK構(gòu)建白名單配置

@ohos.i18n接口定義跨平臺(tái)實(shí)現(xiàn)后,需在[插件倉]完成白名單配置,編譯時(shí)打包到ArkUI-X SDK中。

[Android平臺(tái)白名單配置]

{
        "install_dir": "arkui-x/plugins/api/lib/i18n/arch_type",                     // 用于指定輸出到ArkUI-X SDK哪個(gè)目錄下。
        "module_label": "http://foundation/arkui/ace_engine/adapter/android/build:i18n",  // 需要打包到ArkUI-X SDK的內(nèi)容(動(dòng)態(tài)庫)
        "target_os": [
            "linux",
            "windows",
            "darwin"
        ]
    },
    {
        "install_dir": "arkui-x/plugins/api/lib/i18n",                               // 用于指定輸出到ArkUI-X SDK哪個(gè)目錄下,如果不依賴平臺(tái)接口,則不需要。
        "module_label": "http://plugins/i18n/android/java:i18n_plugin_java",              // 需要打包到ArkUI-X SDK的內(nèi)容(Jar包),如果不依賴平臺(tái)接口,則不需要。
        "target_os": [
            "linux",
            "windows",
            "darwin"
        ]
    },

[iOS平臺(tái)白名單配置]

{
        "install_dir": "arkui-x/plugins/api/framework/arch_type/libi18n.framework",   // 用于指定輸出到ArkUI-X SDK哪個(gè)目錄下。
        "module_label": "http://foundation/arkui/ace_engine/adapter/ios/build:libi18n",    // 需要打包到ArkUI-X SDK的內(nèi)容(Framework動(dòng)態(tài)庫)
        "target_os": [
            "darwin"
            ]
    },

@ohos.i18n接口調(diào)用解析

ArkUI-X SDK中engine和plugins目錄都會(huì)包含apiConfig.json配置文件,用于DevEco Studio和ACE Tools解析,可使開發(fā)者只關(guān)注ArkTS代碼開發(fā),無需關(guān)注引用的ArkUI控件和@ohos接口插件。這里,對(duì)于如何解析apiConfig.json不做描述,只講述如何在[SDK倉]=配置apiConfig.json文件。

{
        "module": "ohos.i18n",                                           // 表示OpenHarmony中的i18n接口模塊:@ohos.i18n
        "library": {
            "android": [                                                 // 表示i18n在Android平臺(tái)進(jìn)行應(yīng)用開發(fā)時(shí),哪些庫需打包到Android應(yīng)用安裝包中。
                "lib/i18n/ace_i18n_plugin_android.jar",
                "lib/i18n/arch_type/libi18n.so"
            ],
            "ios":[ "xcframework/build_modes/libi18n.xcframework" ]      // 表示i18n在iOS平臺(tái)進(jìn)行應(yīng)用開發(fā)時(shí),哪些庫需打包到iOS應(yīng)用安裝包中。
        },
        "deps": {
            "android": [],                                               // 表示i18n在Android平臺(tái)進(jìn)行應(yīng)用開發(fā)時(shí),哪些依賴庫需打包到Android安裝包中,空代表沒有依賴。
            "ios":[]                                                     // 表示i18n在iOS平臺(tái)進(jìn)行應(yīng)用開發(fā)時(shí),哪些依賴庫需打包到iOS安裝包中,空代表沒有依賴。
        }
    },

ArkUI-SDK構(gòu)建說明

ArkU-SDK構(gòu)建在ArkUI-X框架[基礎(chǔ)構(gòu)建]=上新增了ArkUI-X SDK包構(gòu)建指令,詳細(xì)如下:

Linux平臺(tái)編譯

  • 構(gòu)建ArkUI-X Debug,Release和Profile全量版本,僅用于Android平臺(tái)。
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
  • 構(gòu)建ArkUI-X Release版本,僅用于Android平臺(tái)。
./build.sh --product-name arkui-x --target-os android

macOS平臺(tái)編譯

Android和iOS聯(lián)合打包

  • 構(gòu)建ArkUI-X Debug,Release和Profile全量版本,可用于Android和iOS平臺(tái)。
./build.sh --product-name arkui-x --target-os ios --gn-args gen_full_sdk=true build_android=true
  • 構(gòu)建ArkUI-X Release版本,可用于Android和iOS平臺(tái)。
./build.sh --product-name arkui-x --target-os ios build_android=true

iOS

  • 構(gòu)建ArkUI-X Debug,Profile和Release全量版本,僅用于iOS平臺(tái)。
./build.sh --product-name arkui-x --target-os ios --gn-args gen_full_sdk=true
  • 構(gòu)建ArkUI-X Release版本,僅用于iOS平臺(tái)。
./build.sh --product-name arkui-x --target-os ios

Android

  • 構(gòu)建ArkUI-X Debug,Profile和Release全量版本,僅用于Android平臺(tái)。
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
  • 構(gòu)建ArkUI-X Release版本,僅用于Android平臺(tái)。
  • 開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。

搜狗高速瀏覽器截圖20240326151547.png

./build.sh --product-name arkui-x --target-os android

ArkUI-SDK調(diào)試說明

  • ArkUI-X SDK編譯輸出目錄為:out/arkui-x/packages/arkui-x
  • 替換當(dāng)前WindowsmacOSLinux平臺(tái)上已安裝的ArkUI-X SDK。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 移動(dòng)開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    9742
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2634

    瀏覽量

    66352
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30209
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16323
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4400
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    **簡(jiǎn)單來說,ArkTS + ArkUI-X 對(duì)標(biāo)的框架為 flutter,一次代碼,編譯為 native 全平臺(tái)運(yùn)行**
    的頭像 發(fā)表于 05-13 15:58 ?1040次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>學(xué)習(xí):初探【<b class='flag-5'>ArkUI-X</b>】

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

    ACE Tools是一套為ArkUI-X項(xiàng)目跨平臺(tái)應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺(tái)運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS、Android和iOS平臺(tái)的應(yīng)用程序,其功
    的頭像 發(fā)表于 05-21 17:39 ?1789次閱讀
    鴻蒙<b class='flag-5'>ArkUI-X</b>跨平臺(tái)<b class='flag-5'>開發(fā)</b>:【命令行工具(ACE Tools)】

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

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

    鴻蒙ArkUI-X跨語言調(diào)用說明:【平臺(tái)橋接開發(fā)指南(Android)】

    平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI與平臺(tái)雙向數(shù)據(jù)傳遞、ArkUI側(cè)調(diào)用平臺(tái)的方法、平臺(tái)調(diào)用ArkUI側(cè)的方法。本文主要介紹A
    的頭像 發(fā)表于 05-25 16:26 ?700次閱讀
    鴻蒙<b class='flag-5'>ArkUI-X</b>跨語言調(diào)用<b class='flag-5'>說明</b>:【平臺(tái)橋接<b class='flag-5'>開發(fā)指南</b>(Android)】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】

    ArkUI作為OpenHarmony的默認(rèn)開發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到一套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉開發(fā)的方式
    的頭像 發(fā)表于 05-25 16:45 ?2090次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b><b class='flag-5'>ArkUI-X</b>基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b>代碼工程及<b class='flag-5'>構(gòu)建</b>介紹】

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

    專家??缙脚_(tái)應(yīng)用開發(fā)框架TSG對(duì)業(yè)界相關(guān)的跨平臺(tái)應(yīng)用開發(fā)框架所涉及的關(guān)鍵技術(shù)進(jìn)行洞察分析,制定關(guān)鍵的演進(jìn)策略,并開始構(gòu)建跨平臺(tái)應(yīng)用開發(fā)框架項(xiàng)目——A
    發(fā)表于 08-11 16:10

    Rockchip Linux SDK開發(fā)指南的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Rockchip Linux SDK開發(fā)指南的詳細(xì)資料說明。
    發(fā)表于 01-10 17:17 ?74次下載
    Rockchip Linux <b class='flag-5'>SDK</b>的<b class='flag-5'>開發(fā)指南</b>的詳細(xì)資料<b class='flag-5'>說明</b>

    Tina Linux配置開發(fā)指南

    Tina Linux配置開發(fā)指南
    的頭像 發(fā)表于 03-02 15:28 ?1.6w次閱讀
    Tina Linux<b class='flag-5'>配置</b><b class='flag-5'>開發(fā)指南</b>

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

    OpenHarmony項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)(以下簡(jiǎn)稱“TSC”)-跨平臺(tái)應(yīng)用開發(fā)框架TSG所孵化項(xiàng)目 —— ArkUI-X,近期已正式開源 ,開發(fā)者基于一套主代碼,就可以將在OpenHarmony上
    的頭像 發(fā)表于 08-22 22:19 ?835次閱讀
    資訊速遞 | <b class='flag-5'>ArkUI-X</b> 預(yù)覽版已正式開源!

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

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

    鴻蒙ArkUI-X跨平臺(tái)技術(shù):【開發(fā)初體驗(yàn)】

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

    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【 編寫第一個(gè)ArkUI-X應(yīng)用】

    通過構(gòu)建一個(gè)簡(jiǎn)單的ArkUI頁面跳轉(zhuǎn)示例,快速了解資源創(chuàng)建引用,路由代碼編寫和UI布局編寫等應(yīng)用開發(fā)流程。
    的頭像 發(fā)表于 05-21 17:36 ?711次閱讀
    鴻蒙<b class='flag-5'>ArkUI-X</b>跨平臺(tái)<b class='flag-5'>開發(fā)</b>:【 編寫第一個(gè)<b class='flag-5'>ArkUI-X</b>應(yīng)用】

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

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI
    的頭像 發(fā)表于 05-19 21:05 ?593次閱讀
    鴻蒙<b class='flag-5'>ArkUI-X</b>跨平臺(tái)<b class='flag-5'>開發(fā)</b>:【 應(yīng)用工程結(jié)構(gòu)<b class='flag-5'>說明</b>】

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

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

    鴻蒙ArkUI-X框架開發(fā):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI-X框架開發(fā)的初學(xué)者。通過環(huán)境搭建、代碼下載、代碼編譯、API擴(kuò)展和使用,快速了解跨平臺(tái)項(xiàng)目開發(fā)流程。
    的頭像 發(fā)表于 05-23 21:02 ?476次閱讀
    鴻蒙<b class='flag-5'>ArkUI-X</b>框架<b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>開發(fā)</b>準(zhǔn)備】