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

    浏览量

    9678
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2634

    浏览量

    66189
  • HarmonyOS
    +关注

    关注

    79

    文章

    1966

    浏览量

    29983
  • OpenHarmony
    +关注

    关注

    25

    文章

    3650

    浏览量

    16104
  • 鸿蒙OS
    +关注

    关注

    0

    文章

    188

    浏览量

    4362
收藏 人收藏

    评论

    相关推荐

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

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

    鸿蒙ArkUI-X跨平台开发:【命令行工具(ACE Tools)】

    ACE Tools是一套为ArkUI-X项目跨平台应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony/HarmonyOS、Android和iOS平台的应用程序,其功
    的头像 发表于 05-21 17:39 1606次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨平台<b class='flag-5'>开发</b>:【命令行工具(ACE Tools)】

    鸿蒙ArkUI-X跨平台开发:【SDK目录结构介绍】

    本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI
    的头像 发表于 05-20 16:28 766次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨平台<b class='flag-5'>开发</b>:【<b class='flag-5'>SDK</b>目录结构介绍】

    鸿蒙ArkUI-X跨语言调用说明:【平台桥接开发指南(Android)】

    平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍A
    的头像 发表于 05-25 16:26 604次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨语言调用<b class='flag-5'>说明</b>:【平台桥接<b class='flag-5'>开发指南</b>(Android)】

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

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

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

    Rockchip Linux SDK开发指南的详细资料说明

    本文档的主要内容详细介绍的是Rockchip Linux SDK开发指南的详细资料说明
    发表于 01-10 17:17 74次下载
    Rockchip Linux <b class='flag-5'>SDK</b>的<b class='flag-5'>开发指南</b>的详细资料<b class='flag-5'>说明</b>

    Tina Linux配置开发指南

    Tina Linux配置开发指南
    的头像 发表于 03-02 15:28 1.6w次阅读
    Tina Linux<b class='flag-5'>配置</b><b class='flag-5'>开发指南</b>

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

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

    鸿蒙跨平台框架:【ArkUi-X】创建工程

    鸿蒙推出了鸿ArkUi-X 框架所以就写个文章分享一下
    的头像 发表于 05-13 17:48 848次阅读
    鸿蒙跨平台框架:【<b class='flag-5'>ArkUi-X</b>】创建工程

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

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

    鸿蒙ArkUI-X跨平台开发:【 编写第一个ArkUI-X应用】

    通过构建一个简单的ArkUI页面跳转示例,快速了解资源创建引用,路由代码编写和UI布局编写等应用开发流程。
    的头像 发表于 05-21 17:36 632次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨平台<b class='flag-5'>开发</b>:【 编写第一个<b class='flag-5'>ArkUI-X</b>应用】

    鸿蒙ArkUI-X跨平台开发:【 应用工程结构说明

    本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI
    的头像 发表于 05-19 21:05 533次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨平台<b class='flag-5'>开发</b>:【 应用工程结构<b class='flag-5'>说明</b>】

    鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】

    ArkUI-X支持动态化,使用者可以根据自己需要动态发布跨平台内容,从而使跨平台部分和宿主应用进行解耦。
    的头像 发表于 05-23 14:38 768次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>跨语言调用<b class='flag-5'>说明</b>:平台差异化【Android、ios动态化】

    鸿蒙ArkUI-X框架开发:【开发准备】

    本文档适用于ArkUI-X框架开发的初学者。通过环境搭建、代码下载、代码编译、API扩展和使用,快速了解跨平台项目开发流程。
    的头像 发表于 05-23 21:02 421次阅读
    鸿蒙<b class='flag-5'>ArkUI-X</b>框架<b class='flag-5'>开发</b>:【<b class='flag-5'>开发</b>准备】