ArkUI-X SDK配置和構(gòu)建說(shuō)明
ArkUI-X SDK是ArkUI-X開(kāi)源項(xiàng)目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有Android和iOS應(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
`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

下面將分別講述:如何配置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è)目錄下,如果不依賴(lài)平臺(tái)接口,則不需要。
"module_label": "http://plugins/i18n/android/java:i18n_plugin_java", // 需要打包到ArkUI-X SDK的內(nèi)容(Jar包),如果不依賴(lài)平臺(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í),哪些依賴(lài)庫(kù)需打包到Android安裝包中,空代表沒(méi)有依賴(lài)。
"ios":[] // 表示i18n在iOS平臺(tái)進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),哪些依賴(lài)庫(kù)需打包到iOS安裝包中,空代表沒(méi)有依賴(là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)到。

./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。
-
移動(dòng)開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
52瀏覽量
11184 -
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2642瀏覽量
70095 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2156瀏覽量
36270 -
OpenHarmony
+關(guān)注
關(guān)注
33文章
3970瀏覽量
21337 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
193瀏覽量
5539
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙開(kāi)發(fā)學(xué)習(xí):初探【ArkUI-X】
鴻蒙開(kāi)發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】
ArkUI-X跨平臺(tái)框架接入指南
ArkUI-X添加到現(xiàn)有Android項(xiàng)目中
ArkUI-X添加到現(xiàn)有Android項(xiàng)目中
ArkUI-X中Plugin生命周期開(kāi)發(fā)指南
ArkUI-X框架LogInterface使用指南
ArkUI-X在Android平臺(tái)動(dòng)態(tài)化開(kāi)發(fā)指南
ArkUI-X與Android聯(lián)動(dòng)編譯開(kāi)發(fā)指南
ArkUI-X跨平臺(tái)應(yīng)用改造指南
ArkUI-X應(yīng)用工程結(jié)構(gòu)說(shuō)明
【HarmonyOS next】ArkUI-X新聞熱搜聚合App【進(jìn)階】
資訊速遞 | ArkUI-X 預(yù)覽版已正式開(kāi)源!
資訊速遞 | ArkUI-X 預(yù)覽版已正式開(kāi)源!
鴻蒙ArkUI-X跨平臺(tái)技術(shù):【開(kāi)發(fā)初體驗(yàn)】
ArkUI-X開(kāi)發(fā)指南:【SDK配置和構(gòu)建說(shuō)明】
評(píng)論