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開(kāi)發(fā)指南:【SDK配置和構(gòu)建說(shuō)明】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

ArkUI-X SDK
├── engine                   // ArkUI-X的引擎庫(kù)
│   ├── lib                  // ArkUI-X的引擎庫(kù):包括Android平臺(tái)及架構(gòu)的動(dòng)態(tài)庫(kù)。
│   ├── framework            // ArkUI-X的引擎庫(kù):包括iOS平臺(tái)及架構(gòu)的Framework庫(kù)。
│   ├── xcframework          // ArkUI-X的引擎庫(kù):包括iOS平臺(tái)及架構(gòu)的XCFramework庫(kù)。
│   ├── ets                  // ArkUI-X增量接口,比如:@arkui-x.bridge
│   ├── apiConfig.json       // engine庫(kù)配置文件,用于IDE和ACE Tools解析,以支持應(yīng)用構(gòu)建按需打包。
│   └── systemres            // ArkUI-X框架自帶的資源。
├── plugins                  // ArkUI-X官方提供的插件庫(kù)
│   ├── component            // ArkUI組件插件庫(kù),apiConfig.json
│   └── api                  // @ohos接口插件庫(kù),apiConfig.json
├── toolchains               // ArkUI-X應(yīng)用開(kāi)發(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配置說(shuō)明

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

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

  • ArkUI-X社區(qū)代碼倉(cāng)為:gitee.com/arkui-x/plugins
  • @ohos.i18n接口定義跨平臺(tái)實(shí)現(xiàn)開(kāi)發(fā)倉(cāng)目錄為: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倉(cāng)]和[arkui_for_ios倉(cāng)]進(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)后,需在[插件倉(cāng)]完成白名單配置,編譯時(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)庫(kù))
        "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)庫(kù))
        "target_os": [
            "darwin"
            ]
    },

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

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

{
        "module": "ohos.i18n",                                           // 表示OpenHarmony中的i18n接口模塊:@ohos.i18n
        "library": {
            "android": [                                                 // 表示i18n在Android平臺(tái)進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),哪些庫(kù)需打包到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)用開(kāi)發(fā)時(shí),哪些庫(kù)需打包到iOS應(yīng)用安裝包中。
        },
        "deps": {
            "android": [],                                               // 表示i18n在Android平臺(tái)進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),哪些依賴庫(kù)需打包到Android安裝包中,空代表沒(méi)有依賴。
            "ios":[]                                                     // 表示i18n在iOS平臺(tái)進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),哪些依賴庫(kù)需打包到iOS安裝包中,空代表沒(méi)有依賴。
        }
    },

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

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)。
  • 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(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)試說(shuō)明

  • 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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 移動(dòng)開(kāi)發(fā)

    關(guān)注

    0

    文章

    52

    瀏覽量

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

    關(guān)注

    183

    文章

    2642

    瀏覽量

    68000
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2121

    瀏覽量

    32727
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3847

    瀏覽量

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

    關(guān)注

    0

    文章

    191

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

    ArkUI作為OpenHarmony的默認(rèn)開(kāi)發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到一套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉(cāng)開(kāi)發(fā)的方式
    的頭像 發(fā)表于 05-25 16:45 ?2758次閱讀
    鴻蒙<b class='flag-5'>開(kāi)發(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跨平臺(tái)框架接入指南

    ,就可以構(gòu)建支持多平臺(tái)的精美、高性能應(yīng)用。 使用DevEco Studio開(kāi)發(fā)ArkUI-X約束說(shuō)明 DevEco Studio僅支持ArkUI-X
    發(fā)表于 05-18 18:21

    ArkUI-X添加到現(xiàn)有Android項(xiàng)目中

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開(kāi)發(fā),實(shí)現(xiàn)基于ArkTS的聲明式開(kāi)發(fā)范式在android平臺(tái)顯示。包括: 1.跨平臺(tái)Library工程
    發(fā)表于 05-28 22:44

    ArkUI-X添加到現(xiàn)有Android項(xiàng)目中

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開(kāi)發(fā),實(shí)現(xiàn)基于ArkTS的聲明式開(kāi)發(fā)范式在android平臺(tái)顯示。包括: 1.跨平臺(tái)Library工程
    發(fā)表于 06-04 22:35

    ArkUI-X中Plugin生命周期開(kāi)發(fā)指南

    ; } } } 添加ArkUI-X插件 在StageActivity中,新增addPlugin11+方法,并以字符串形式提供IArkUIXPlugin的實(shí)現(xiàn)類的完整包名,用于將開(kāi)發(fā)者實(shí)現(xiàn)
    發(fā)表于 06-04 22:36

    ArkUI-X框架LogInterface使用指南

    WARN/INFO/DEBUG),存在應(yīng)用崩潰的風(fēng)險(xiǎn)。 注意:開(kāi)發(fā)者使用時(shí)注冊(cè),必須位于調(diào)用MyApplication超類的onCreate()方法之后 設(shè)置ArkUI-X框架
    發(fā)表于 06-15 23:20

    ArkUI-X在Android平臺(tái)動(dòng)態(tài)化開(kāi)發(fā)指南

    目的; 場(chǎng)景2:特性Bundle動(dòng)態(tài)化,特性和宿主應(yīng)用發(fā)布解耦; 開(kāi)發(fā)指南 目錄說(shuō)明 動(dòng)態(tài)加載時(shí)要求應(yīng)用沙箱內(nèi)目錄架構(gòu)如下所示: /data/data/應(yīng)用/files/arkui-x
    發(fā)表于 06-15 23:33

    ArkUI-X與Android聯(lián)動(dòng)編譯開(kāi)發(fā)指南

    /assets/arkui-x\" 配置Android的systemRes輸出路徑 可手動(dòng)在Android工程下的buildArkts腳本中修改Android應(yīng)用中systemRes的輸出
    發(fā)表于 06-16 22:55

    ArkUI-X跨平臺(tái)應(yīng)用改造指南

    ArkUI-X跨平臺(tái)應(yīng)用改造指南 現(xiàn)狀與訴求 隨著 HarmonyOS Next 5.0 版本正式發(fā)布,眾多開(kāi)發(fā)者基于 ArkTS 語(yǔ)言為 HarmonyOS Next 系統(tǒng)開(kāi)發(fā)了大量
    發(fā)表于 06-16 23:05

    ArkUI-X應(yīng)用工程結(jié)構(gòu)說(shuō)明

    )并可以部署到相應(yīng)的OS平臺(tái),降低跨平臺(tái)應(yīng)用開(kāi)發(fā)成本。 應(yīng)用工程目錄結(jié)構(gòu)介紹 跨平臺(tái)應(yīng)用工程目錄結(jié)構(gòu)說(shuō)明 以IDE創(chuàng)建的模板工程【ArkUI-X】Empty Ability舉例,包含一套為Ar
    發(fā)表于 06-19 23:11

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

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

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

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

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

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

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

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

    電子發(fā)燒友

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

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品