赞
踩
本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。
ArkUI-X编译构建流水线出包时,需按照SDK命名规则进行打包,命名规则如下:
path_操作系统类型_CPU架构类型_版本号_releaseType.zip
表1 SDK规则字段说明
字段 | 描述 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 |
---|---|
path | 取值为SDK根目录元数据arkui-x.json文件中的path标签内容。 |
操作系统类型 | 可选值:windows,darwin,linux。 |
CPU架构类型 | 可选值:"x64"-x86架构,"arm64"-arm架构。 |
版本号 | 构建版本号与OpenHarmony SDK版本号规则保持一致。 |
releaseType | 可选值:Canary,Beta,Release三种可选取值。releaseType后面加数字,标识迭代次数,比如:Beta1。 |
示例: arkui-x_windows_x64_1.0.0.0_Release.zip
这里,以macOS平台上的ArkUI-X SDK包为例,对SDK目录结构和内容规格进行说明。更详细的ArkUI-X SDK内容规格会在第五节进行介绍。
- arkui-x_darwin_x64_1.0.0.0_Release.zip
- └── arkui-x
- ├── 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组件插件库
- │ └── api // @ohos接口插件库,apiConfig.json
- ├── toolchains // ArkUI-X应用开发工具,比如:ACE Tools。
- ├── sdkConfig.json // 增量d.ts路径和接口前缀配置
- ├── arkui-x.json // SDK管理配置,流水线自动生成
- └── NOTICE.txt
ArkUI-X应用构建最小依赖集合,位于arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/engine目录:
- engine
- ├── lib
- │ ├── include
- │ ├── arkui
- │ │ ├── arkui_android_adapter.jar
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ └── android-x86_64
- │ ├── third_party // 内部目录同arkui
- │ └── utils // 内部目录同arkui
- ├── framework
- │ ├── arkui
- │ │ ├── ios-arm64
- │ │ ├── ios-arm64-profile
- │ │ ├── ios-arm64-release
- │ │ ├── ios-arm64-simulator
- │ │ └── ios-x86_64-simulator
- │ ├── third_party
- │ └── utils
- ├── xcframework
- │ ├── arkui
- │ │ ├── ios
- │ │ │ └── libarkui_ios.xcframework
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ ├── ios-profile
- │ │ │ └── libarkui_ios.xcframework
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ └── ios-release
- │ │ └── libarkui_ios.xcframework
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ ├── third_party // 内部目录同arkui
- │ └── utils // 内部目录同arkui
- ├── ets
- │ └── @arkui-x.bridge.d.ts
- ├── apiConfig.json
- └── systemres
ArkUI-X应用按需打包插件库集合,位于arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/plugins目录:
- plugins
- ├── component
- │ ├── lib
- │ │ ├── include
- │ │ └── ${ui-name} // 一个UI组件一个目录
- │ │ ├── ${ui-name}.jar
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── lib${ui-name}.so
- │ │ └── android-x86_64
- │ ├── framework
- │ │ ├── ios-arm64
- │ │ ├── ios-arm64-profile
- │ │ │ └── lib${ui-name}.framework
- │ │ ├── ios-arm64-release
- │ │ ├── ios-arm64-simulator
- │ │ └── ios-x86_64-simulator
- │ ├── xcframework
- │ │ ├── ios
- │ │ │ └── lib${ui-name}.xcframework
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ ├── ios-profile
- │ │ │ └── lib${ui-name}.xcframework
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ └── ios-release
- │ │ └── lib${ui-name}.xcframework
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ └── apiConfig.json
- └── api
- ├── lib
- │ ├── include
- │ └── ${module-name}_${submodule-name} // 一个API模块一个目录
- │ ├── ${module-name}_${submodule-name}.jar
- │ ├── android-arm
- │ ├── android-arm-profile
- │ ├── android-arm-release
- │ ├── android-arm64
- │ ├── android-arm64-profile
- │ ├── android-arm64-release
- │ │ └── lib${module-name}_${submodule-name}.so
- │ └── android-x86_64
- ├── framework
- │ ├── ios-arm64
- │ ├── ios-arm64-profile
- │ │ └── lib${module-name}_${submodule-name}.framework
- │ ├── ios-arm64-release
- │ ├── ios-arm64-simulator
- │ └── ios-x86_64-simulator
- ├── xcframework
- │ ├── ios
- │ │ └── lib${module-name}_${submodule-name}.xcframework
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ ├── ios-profile
- │ │ └── lib${module-name}_${submodule-name}.xcframework
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ └── ios-release
- │ └── lib${module-name}_${submodule-name}.xcframework
- │ ├── Info.plist
- │ ├── ios-arm64
- │ └── ios-arm64_x86_64-simulator
- └── apiConfig.json
- {
- "apiVersion": "10",
- "displayName": "ArkUI-X",
- "meta": {
- "metaVersion": "1.0.0"
- },
- "path": "arkui-x",
- "releaseType": "Release",
- "version": "1.0.0.0"
- }
字段解释如下:
- arkui-x_windows_x64_1.0.0.0_Release.zip/arkui-x/engine
- ├── lib // ArkUI跨平台引擎及平台适配层
- │ ├── include // NAPI和相关辅助C接口
- │ ├── arkui
- │ │ ├── arkui_android_adapter.jar
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── libarkui_android.so // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk三部分。
- │ │ └── android-x86_64
- │ ├── third_party
- │ └── utils
- ├── ets // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
- │ └── @arkui-x.bridge.d.ts
- ├── apiConfig.json
- └── systemres // ArkUI组件渲染一致性系统资源包
- arkui-x_windows_x64_1.0.0.0_Release.zip/arkui-x/plugins
- ├── component // ArkUI组件插件化动态库。
- │ ├── lib
- │ │ ├── include
- │ │ └── ${ui-name}
- │ │ ├── ${ui-name}_android_adapter.jar // 部分组件实现依赖的Android接口。
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── lib${ui-name}.so // ArkUI组件实现。
- │ │ └── android-x86_64
- │ └── apiconfig.json // ArkUI组件跨平台实现配置说明。
- └── api // ArkTS接口插件化动态库。
- ├── lib
- │ ├── include
- │ └── ${module-name}_${submodule-name}
- │ ├── ${module-name}_${submodule-name}.jar // ArkTS接口实现依赖的Android接口。
- │ ├── android-arm
- │ ├── android-arm-profile
- │ ├── android-arm-release
- │ ├── android-arm64
- │ ├── android-arm64-profile
- │ ├── android-arm64-release
- │ │ └── lib${module-name}_${submodule-name}.so // ArkTS接口实现。
- │ └── android-x86_64
- └── apiConfig.json // ArkTS @ohos接口跨平台实现配置说明。
- arkui-x_linux_x64_1.0.0.0_Release.zip/arkui-x/engine
- ├── lib // ArkUI跨平台引擎及平台适配层
- │ ├── include // NAPI和相关辅助C接口
- │ ├── arkui
- │ │ ├── arkui_android_adapter.jar // ArkUI Android平台适配层
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── libarkui_android.so // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk三部分。
- │ │ └── android-x86_64
- │ ├── third_party
- │ └── utils
- ├── ets // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
- │ └── @arkui-x.bridge.d.ts
- ├── apiConfig.json
- └── systemres // ArkUI组件渲染一致性系统资源包
- arkui-x_linux_x64_1.0.0.0_Release.zip/arkui-x/plugins
- ├── component // ArkUI组件插件化动态库。
- │ ├── lib
- │ │ ├── include
- │ │ └── ${ui-name}
- │ │ ├── ${ui-name}_android_adapter.jar // 部分组件实现依赖的Android接口。
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── lib${ui-name}.so // ArkUI组件实现。
- │ │ └── android-x86_64
- │ └── apiconfig.json // ArkUI组件跨平台实现配置说明。
- └── api // ArkTS接口插件化动态库。
- ├── lib
- │ ├── include
- │ └── ${module-name}_${submodule-name}
- │ ├── ${module-name}_${submodule-name}.jar // ArkTS接口实现依赖的Android接口。
- │ ├── android-arm
- │ ├── android-arm-profile
- │ ├── android-arm-release
- │ ├── android-arm64
- │ ├── android-arm64-profile
- │ ├── android-arm64-release
- │ │ └── lib${module-name}_${submodule-name}.so // ArkTS接口实现。
- │ └── android-x86_64
- └── apiConfig.json // ArkTS @ohos接口跨平台实现配置说明。
- arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/engine
- ├── lib // ArkUI跨平台引擎及平台适配层
- │ ├── include // NAPI和相关辅助C接口
- │ ├── arkui
- │ │ ├── arkui_android_adapter.jar // ArkUI Android平台适配层
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── libarkui_android.so // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk\Ability等部分。
- │ │ └── android-x86_64
- │ ├── third_party
- │ └── utils
- ├── framework
- │ ├── arkui
- │ │ ├── ios-arm64
- │ │ ├── ios-arm64-profile
- │ │ ├── ios-arm64-release
- │ │ │ └── libarkui_ios.framework // ArkUI跨平台引擎及平台适配层
- │ │ │ ├── Headers
- │ │ │ ├── Info.plist
- │ │ │ ├── libarkui_ios
- │ │ │ ├── libarkui_ios.podspec
- │ │ │ └── Modules
- │ │ │ └── module.modulemap
- │ │ ├── ios-arm64-simulator
- │ │ └── ios-x86_64-simulator
- │ ├── third_party
- │ └── utils
- ├── xcframework
- │ ├── arkui
- │ │ ├── ios
- │ │ │ └── libarkui_ios.xcframework // ArkUI跨平台引擎及平台适配层
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ ├── ios-profile
- │ │ │ └── libarkui_ios.xcframework // ArkUI跨平台引擎及平台适配层
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ └── ios-release
- │ │ └── libarkui_ios.xcframework // ArkUI跨平台引擎及平台适配层
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ │ └── libarkui_ios.framework
- │ │ │ ├── Headers
- │ │ │ ├── Info.plist
- │ │ │ ├── libarkui_ios
- │ │ │ ├── libarkui_ios.podspec
- │ │ │ └── Modules
- │ │ │ └── module.modulemap
- │ │ └── ios-arm64_x86_64-simulator
- │ ├── third_party
- │ └── utils
- ├── ets // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
- │ └── @arkui-x.bridge.d.ts
- ├── apiConfig.json
- └── systemres // ArkUI组件渲染一致性系统资源包
- arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/plugins
- ├── component // ArkUI组件插件化动态库。
- │ ├── lib
- │ │ ├── include
- │ │ └── ${ui-name}
- │ │ ├── ${ui-name}_android_adapter.jar // 部分组件实现依赖的Android接口。
- │ │ ├── android-arm
- │ │ ├── android-arm-profile
- │ │ ├── android-arm-release
- │ │ ├── android-arm64
- │ │ ├── android-arm64-profile
- │ │ ├── android-arm64-release
- │ │ │ └── lib${ui-name}.so // ArkUI组件实现。
- │ │ └── android-x86_64
- │ ├── framework
- │ │ ├── ios-arm64
- │ │ ├── ios-arm64-profile
- │ │ ├── ios-arm64-release
- │ │ │ └── lib${ui-name}.framework // ArkUI组件实现。
- │ │ │ ├── Headers
- │ │ │ ├── Info.plist
- │ │ │ ├── lib${ui-name}
- │ │ │ ├── lib${ui-name}.podspec
- │ │ │ └── Modules
- │ │ │ └── module.modulemap
- │ │ ├── ios-arm64-simulator
- │ │ └── ios-x86_64-simulator
- │ ├── xcframework
- │ │ ├── ios
- │ │ │ └── lib${ui-name}.xcframework // ArkUI组件实现。
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ ├── ios-profile
- │ │ │ └── lib${ui-name}.xcframework // ArkUI组件实现。
- │ │ │ ├── Info.plist
- │ │ │ ├── ios-arm64
- │ │ │ └── ios-arm64_x86_64-simulator
- │ │ └── ios-release
- │ │ └── lib${ui-name}.xcframework // ArkUI组件实现。
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ │ └── lib${ui-name}.framework
- │ │ │ ├── Headers
- │ │ │ ├── Info.plist
- │ │ │ ├── lib${ui-name}
- │ │ │ ├── lib${ui-name}.podspec
- │ │ │ └── Modules
- │ │ │ └── module.modulemap
- │ │ └── ios-arm64_x86_64-simulator
- │ └── apiConfig.json // ArkTS UI组件跨平台实现配置说明。
- └── api // ArkTS接口插件化动态库。
- ├── lib
- │ ├── include
- │ └── ${module-name}_${submodule-name}
- │ ├── ${module-name}_${submodule-name}_android_adapter.jar // ArkTS接口实现依赖的Android接口。
- │ ├── android-arm
- │ ├── android-arm-profile
- │ ├── android-arm-release
- │ ├── android-arm64
- │ ├── android-arm64-profile
- │ ├── android-arm64-release
- │ │ └── lib${module-name}_${submodule-name}.so // ArkTS接口实现。
- │ └── android-x86_64
- ├── framework
- │ ├── ios-arm64
- │ ├── ios-arm64-profile
- │ ├── ios-arm64-release
- │ │ └── lib${module-name}_${submodule-name}.framework // ArkTS接口实现。
- │ │ ├── Headers
- │ │ ├── Info.plist
- │ │ ├── lib${module-name}_${submodule-name}
- │ │ ├── lib${module-name}_${submodule-name}.podspec
- │ │ └── Modules
- │ │ └── module.modulemap
- │ ├── ios-arm64-simulator
- │ └── ios-x86_64-simulator
- ├── xcframework
- │ ├── ios
- │ │ └── lib${module-name}_${submodule-name}.xcframework // ArkTS接口实现。
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ ├── ios-profile
- │ │ └── lib${module-name}_${submodule-name}.xcframework // ArkTS接口实现。
- │ │ ├── Info.plist
- │ │ ├── ios-arm64
- │ │ └── ios-arm64_x86_64-simulator
- │ └── ios-release
- │ └── lib${module-name}_${submodule-name}.xcframework // ArkTS接口实现。
- │ ├── Info.plist
- │ ├── ios-arm64
- │ │ └── lib${module-name}_${submodule-name}.framework
- │ │ ├── Headers
- │ │ ├── Info.plist
- │ │ ├── lib${module-name}_${submodule-name}
- │ │ ├── lib${module-name}_${submodule-name}.podspec
- │ │ └── Modules
- │ │ └── module.modulemap
- │ └── ios-arm64_x86_64-simulator
- └── apiConfig.json // ArkTS @ohos接口跨平台实现配置说明。
从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力
内容包含:《鸿蒙NEXT星河版开发学习文档》
这些就是对往后开发者的分享,希望大家多多点赞关注喔!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。