0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 ? 来源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:48 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ArkUI-X SDK配置和构建说明

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

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

`HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿`

搜狗高速浏览器截图20240326151450.png
下面将分别讲述:如何配置ArkUI-X SDK内容白名单,如何编译生成ArkUI-X SDK包,以及如何验证调试生成的ArkUI-X SDK包。

ArkUI-SDK配置说明

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

@ohos.i18n接口跨平台实现

  • ArkUI-X社区代码仓为:gitee.com/arkui-x/plugins
  • @ohos.i18n接口定义跨平台实现开发仓目录为:gitee.com/arkui-x/plugins/tree/master/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平台白名单配置]

{
        "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平台白名单配置]

{
        "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文件。

{
        "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平台。
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
  • 构建ArkUI-X Release版本,仅用于Android平台。
./build.sh --product-name arkui-x --target-os android

macOS平台编译

Android和iOS联合打包

  • 构建ArkUI-X Debug,Release和Profile全量版本,可用于Android和iOS平台。
./build.sh --product-name arkui-x --target-os ios --gn-args gen_full_sdk=true build_android=true
  • 构建ArkUI-X Release版本,可用于Android和iOS平台。
./build.sh --product-name arkui-x --target-os ios build_android=true

iOS

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

Android

  • 构建ArkUI-X Debug,Profile和Release全量版本,仅用于Android平台。
./build.sh --product-name arkui-x --target-os android --gn-args gen_full_sdk=true
  • 构建ArkUI-X Release版本,仅用于Android平台。
  • 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]点击或者复制转到。

搜狗高速浏览器截图20240326151547.png

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

ArkUI-SDK调试说明

  • ArkUI-X SDK编译输出目录为:out/arkui-x/packages/arkui-x
  • 替换当前WindowsmacOSLinux平台上已安装的ArkUI-X SDK。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 移动开发
    +关注

    关注

    0

    文章

    52

    浏览量

    10410
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    68215
  • HarmonyOS
    +关注

    关注

    80

    文章

    2127

    浏览量

    33309
  • OpenHarmony
    +关注

    关注

    30

    文章

    3858

    浏览量

    18709
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    191

    浏览量

    5012
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    鸿蒙开发学习:初探【ArkUI-X

    **简单来说,ArkTS + ArkUI-X 对标的框架为 flutter,一次代码,编译为 native 全平台运行**
    的头像 发表于 05-13 15:58 ?1686次阅读
    鸿蒙<b class='flag-5'>开发</b>学习:初探【<b class='flag-5'>ArkUI-X</b>】

    鸿蒙开发ArkUI-X基础知识:【ArkUI代码工程及构建介绍】

    ArkUI作为OpenHarmony的默认开发框架,在本项目(ArkUI-X)中需要做到一套代码同时支持多平台构建,所以会采取共仓开发的方式
    的头像 发表于 05-25 16:45 ?2806次阅读
    鸿蒙<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跨平台框架接入指南

    ,就可以构建支持多平台的精美、高性能应用。 使用DevEco Studio开发ArkUI-X约束说明 DevEco Studio仅支持ArkUI-X
    发表于 05-18 18:21

    ArkUI-X添加到现有Android项目中

    本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括: 1.跨平台Library工程
    发表于 05-28 22:44

    ArkUI-X添加到现有Android项目中

    本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括: 1.跨平台Library工程
    发表于 06-04 22:35

    ArkUI-X中Plugin生命周期开发指南

    ; } } } 添加ArkUI-X插件 在StageActivity中,新增addPlugin11+方法,并以字符串形式提供IArkUIXPlugin的实现类的完整包名,用于将开发者实现
    发表于 06-04 22:36

    ArkUI-X框架LogInterface使用指南

    WARN/INFO/DEBUG),存在应用崩溃的风险。 注意:开发者使用时注册,必须位于调用MyApplication超类的onCreate()方法之后 设置ArkUI-X框架
    发表于 06-15 23:20

    ArkUI-X在Android平台动态化开发指南

    目的; 场景2:特性Bundle动态化,特性和宿主应用发布解耦; 开发指南 目录说明 动态加载时要求应用沙箱内目录架构如下所示: /data/data/应用/files/arkui-x
    发表于 06-15 23:33

    ArkUI-X与Android联动编译开发指南

    /assets/arkui-x\" 配置Android的systemRes输出路径 可手动在Android工程下的buildArkts脚本中修改Android应用中systemRes的输出
    发表于 06-16 22:55

    ArkUI-X跨平台应用改造指南

    ArkUI-X跨平台应用改造指南 现状与诉求 随着 HarmonyOS Next 5.0 版本正式发布,众多开发者基于 ArkTS 语言为 HarmonyOS Next 系统开发了大量
    发表于 06-16 23:05

    ArkUI-X应用工程结构说明

    )并可以部署到相应的OS平台,降低跨平台应用开发成本。 应用工程目录结构介绍 跨平台应用工程目录结构说明 以IDE创建的模板工程【ArkUI-X】Empty Ability举例,包含一套为Ar
    发表于 06-19 23:11

    资讯速递 | ArkUI-X 预览版已正式开源!

    专家。跨平台应用开发框架TSG对业界相关的跨平台应用开发框架所涉及的关键技术进行洞察分析,制定关键的演进策略,并开始构建跨平台应用开发框架项目——A
    发表于 08-11 16:10

    资讯速递 | ArkUI-X 预览版已正式开源!

    OpenHarmony项目群技术指导委员会(以下简称“TSC”)-跨平台应用开发框架TSG所孵化项目 —— ArkUI-X,近期已正式开源 ,开发者基于一套主代码,就可以将在OpenHarmony上
    的头像 发表于 08-22 22:19 ?1153次阅读
    资讯速递 | <b class='flag-5'>ArkUI-X</b> 预览版已正式开源!

    鸿蒙ArkUI-X跨平台技术:【开发初体验】

    在DevEco Studio中导入ArkUI-X Sample,快速创建跨平台工程。
    的头像 发表于 05-17 15:54 ?1271次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨平台技术:【<b class='flag-5'>开发</b>初体验】

    ArkUI-X构建Android平台AAR及使用

    本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括: 1.跨平台Library工程
    的头像 发表于 06-12 22:45 ?256次阅读