ArkUI-X开发指南:【SDK配置和构建说明】

ArkUI-X SDK配置和构建说明

ArkUI-X SDK是ArkUI-X开源项目的编译产物,可将ArkUI-X SDK集成到现有Android和iOS应用工程中,使开发者基于一套ArkTS主代码,就可以构建支持多平台的精美、高性能应用。SDK内容包含ArkUI跨平台运行时,组件和接口插件库,以及ACE Tools命令行工具。

cpp 复制代码
ArkUI-X SDK
├── engine                   // ArkUI-X的引擎库
│   ├── lib                  // ArkUI-X的引擎库:包括Android平台及架构的动态库。
│   ├── framework            // ArkUI-X的引擎库:包括iOS平台及架构的Framework库。
│   ├── xcframework          // ArkUI-X的引擎库:包括iOS平台及架构的XCFramework库。
│   ├── ets                  // ArkUI-X增量接口,比如:@arkui-x.bridge
│   ├── apiConfig.json       // engine库配置文件,用于IDE和ACE Tools解析,以支持应用构建按需打包。
│   └── systemres            // ArkUI-X框架自带的资源。
├── plugins                  // ArkUI-X官方提供的插件库
│   ├── component            // ArkUI组件插件库,apiConfig.json
│   └── api                  // @ohos接口插件库,apiConfig.json
├── toolchains               // ArkUI-X应用开发工具,比如:ACE Tools。
├── sdkConfig.json           // 增量d.ts路径和接口前缀配置
├── arkui-x.json             // SDK管理配置,流水线自动生成
└── NOTICE.txt

下面将分别讲述:如何配置ArkUI-X SDK内容白名单,如何编译生成ArkUI-X SDK包,以及如何验证调试生成的ArkUI-X SDK包。

ArkUI-SDK配置说明

这里,ArkUI-SDK白名单内容配置以@ohos接口跨平台实现为例,并通过[@ohos.i18n (国际化-I18n)]进行讲述。

@ohos.i18n接口跨平台实现

这里,对于@ohos.i18n接口定义如何具体实现不做详细描述,可请参考:[Android平台扩展@ohos接口]和[iOS平台扩展@ohos接口]。

  • @ohos.i18n接口定义跨平台实现后,提供i18n_static_android和i18n_static_ios两个[静态链接Targets]。根据模块名规则,@ohos.i18n的模块名为i18n,需配置在插件列表中[common_plugin_libs],作为插件模板(plugin_lib)的输入。

  • plugin_lib模板会在[arkui_for_android仓]和[arkui_for_ios仓]进行调用。分别生成动态链接Targets:

    • //foundation/arkui/ace_engine/adapter/android/build:i18n
    • //foundation/arkui/ace_engine/adapter/ios/build:libi18n
  • 由于i18n涉及Android平台接口调用,还会提供Java Library GN Targets://plugins/i18n/android/java:i18n_plugin_java

@ohos.i18n SDK构建白名单配置

@ohos.i18n接口定义跨平台实现后,需在[插件仓]完成白名单配置,编译时打包到ArkUI-X SDK中。

[Android平台白名单配置]

cpp 复制代码
    {
        "install_dir": "arkui-x/plugins/api/lib/i18n/arch_type",                     // 用于指定输出到ArkUI-X SDK哪个目录下。
        "module_label": "//foundation/arkui/ace_engine/adapter/android/build:i18n",  // 需要打包到ArkUI-X SDK的内容(动态库)
        "target_os": [
            "linux",
            "windows",
            "darwin"
        ]
    },
    {
        "install_dir": "arkui-x/plugins/api/lib/i18n",                               // 用于指定输出到ArkUI-X SDK哪个目录下,如果不依赖平台接口,则不需要。
        "module_label": "//plugins/i18n/android/java:i18n_plugin_java",              // 需要打包到ArkUI-X SDK的内容(Jar包),如果不依赖平台接口,则不需要。
        "target_os": [
            "linux",
            "windows",
            "darwin"
        ]
    },

[iOS平台白名单配置]

cpp 复制代码
    {
        "install_dir": "arkui-x/plugins/api/framework/arch_type/libi18n.framework",   // 用于指定输出到ArkUI-X SDK哪个目录下。
        "module_label": "//foundation/arkui/ace_engine/adapter/ios/build:libi18n",    // 需要打包到ArkUI-X SDK的内容(Framework动态库)
        "target_os": [
            "darwin"
            ]
    },

@ohos.i18n接口调用解析

ArkUI-X SDK中engine和plugins目录都会包含apiConfig.json配置文件,用于DevEco Studio和ACE Tools解析,可使开发者只关注ArkTS代码开发,无需关注引用的ArkUI控件和@ohos接口插件。这里,对于如何解析apiConfig.json不做描述,只讲述如何在[SDK仓]=配置apiConfig.json文件。

cpp 复制代码
    {
        "module": "ohos.i18n",                                           // 表示OpenHarmony中的i18n接口模块:@ohos.i18n
        "library": {
            "android": [                                                 // 表示i18n在Android平台进行应用开发时,哪些库需打包到Android应用安装包中。
                "lib/i18n/ace_i18n_plugin_android.jar",
                "lib/i18n/arch_type/libi18n.so"
            ],
            "ios":[ "xcframework/build_modes/libi18n.xcframework" ]      // 表示i18n在iOS平台进行应用开发时,哪些库需打包到iOS应用安装包中。
        },
        "deps": {
            "android": [],                                               // 表示i18n在Android平台进行应用开发时,哪些依赖库需打包到Android安装包中,空代表没有依赖。
            "ios":[]                                                     // 表示i18n在iOS平台进行应用开发时,哪些依赖库需打包到iOS安装包中,空代表没有依赖。
        }
    },

ArkUI-SDK构建说明

ArkU-SDK构建在ArkUI-X框架[基础构建]=上新增了ArkUI-X SDK包构建指令,详细如下:

Linux平台编译

  • 构建ArkUI-X Debug,Release和Profile全量版本,仅用于Android平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
  • 构建ArkUI-X Release版本,仅用于Android平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os android

macOS平台编译

Android和iOS联合打包
  • 构建ArkUI-X Debug,Release和Profile全量版本,可用于Android和iOS平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os ios --gn-args gen_full_sdk=true build_android=true
  • 构建ArkUI-X Release版本,可用于Android和iOS平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os ios build_android=true
iOS
  • 构建ArkUI-X Debug,Profile和Release全量版本,仅用于iOS平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os ios --gn-args gen_full_sdk=true
  • 构建ArkUI-X Release版本,仅用于iOS平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os ios
Android
  • 构建ArkUI-X Debug,Profile和Release全量版本,仅用于Android平台。
cpp 复制代码
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
cpp 复制代码
./build.sh --product-name arkui-x --target-os android

ArkUI-SDK调试说明

  • ArkUI-X SDK编译输出目录为:out/arkui-x/packages/arkui-x
  • 替换当前Windows\macOS\Linux平台上已安装的ArkUI-X SDK。

最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造 的**《鸿蒙NEXT星河版OpenHarmony开发文档》**里面内容包含了(**ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony****多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)**技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》****

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

《鸿蒙 (OpenHarmony)开发学习视频》

《鸿蒙生态应用开发V2.0白皮书》

《鸿蒙 (OpenHarmony)开发基础到实战手册》

获取这份鸿蒙星河版学习资料,请点击→ 《鸿蒙NEXT星河版开发学习文档》

OpenHarmony北向、南向开发环境搭建

《鸿蒙开发基础》

  1. ArkTS语言

  2. 安装DevEco Studio

  3. 运用你的第一个ArkTS应用

  4. ArkUI声明式UI开发

  5. .......

《鸿蒙开发进阶》

  1. Stage模型入门

  2. 网络管理

  3. 数据管理

  4. 电话服务

  5. 分布式应用开发

  6. 通知与窗口管理

  7. 多媒体技术

  8. 安全技能

  9. 任务管理

  10. WebGL

  11. 国际化开发

  12. 应用测试

  13. DFX面向未来设计

  14. 鸿蒙系统移植和裁剪定制

  15. ......

《鸿蒙开发实战》

  1. ArkTS实践

  2. UIAbility应用

  3. 网络案例

  4. ......

获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

总结

鸿蒙---作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发 ,未来将会支持 50 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

相关推荐
沈剑心2 小时前
如何在鸿蒙系统上实现「沉浸式」页面?
前端·harmonyos
Georgewu2 小时前
【HarmonyOS】鸿蒙应用加载读取csv文件
前端·harmonyos
Georgewu3 小时前
【HarmonyOS】 鸿蒙图片或视频保存相册
前端·harmonyos
川石教育8 小时前
鸿蒙开发-ArkTS 中使用 filter 组件
harmonyos·鸿蒙·鸿蒙应用开发·鸿蒙开发·鸿蒙开发培训·arkts语言
李洋-蛟龙腾飞公司9 小时前
HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据
分布式·华为·harmonyos
Damon小智9 小时前
HarmonyOS NEXT 技术实践-实现音乐服务卡片
华为·harmonyos·鸿蒙·harmonyos next·服务卡片
play_big_knife9 小时前
鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现
华为·harmonyos·鸿蒙·云开发·鸿蒙开发·鸿蒙next·华为云开发
陈哥聊测试10 小时前
软件格局在变,谁能扛起国产替代的大旗?
安全·程序员·产品
枫叶丹415 小时前
【HarmonyOS之旅】HarmonyOS开发基础知识(三)
华为od·华为·华为云·harmonyos
SoraLuna20 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos