简体中文 | English
ArkUI-X项目进一步将ArkUI开发框架扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。
开源代码仓库地址:https://gitee.com/arkui-x。
-
注册码云gitee账号。
-
注册码云SSH公钥,请参考码云帮助中心。
-
git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store
-
安装码云repo工具,可以执行如下命令。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中 chmod a+x /usr/local/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
-
ArkUI-X主干代码获取
方式一(推荐):通过repo + ssh下载(需注册公钥,请参考码云帮助中心)。
mkdir arkui cd arkui repo init -u git@gitee.com:arkui-x/manifest.git -b master --no-repo-verify repo sync -c --no-tags -j12
方式二:通过repo + https下载。
mkdir arkui cd arkui repo init -u https://gitee.com/arkui-x/manifest.git -b master --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
-
ArkUI-X开发分支代码获取
方式一(推荐):通过repo + ssh下载(需注册公钥,请参考码云帮助中心)。
mkdir arkui cd arkui repo init -u git@gitee.com:arkui-x/manifest.git -b master --no-repo-verify -m arkui-dev.xml repo sync -c --no-tags -j12
方式二:通过repo + https下载。
mkdir arkui cd arkui repo init -u https://gitee.com/arkui-x/manifest.git -b master --no-repo-verify -m arkui-dev.xml repo sync -c --no-tags -j12
代码工程的目录结构如下:
├── arkcompiler // 方舟编译器
├── base // 基础能力
├── build // 项目构建和配置脚本
├── build_plugins // 跨平台构建插件
├── commonlibrary // 公共基础库
├── community // 社区相关
├── developtools // 开发者工具
├── docs // 配套文档
├── foundation
│ ├── appframework // 应用框架兼容适配层
│ ├── arkui // ArkUI引擎
│ ├── communication // 通信能力
│ ├── distributeddatamgr // 分布式数据管理
│ ├── filemanagement // 文件管理
│ ├── graphic // 图形引擎
│ └── multimedia // 多媒体
├── interface // 接口声明
├── plugins // 插件管理与实现
├── prebuilts // 预编译目录
├── productdefine // 产品形态配置
├── samples // 示例代码
├── test // 测试框架与测试套件用例
└── third_party // 三方库
具体的代码结构及仓指向,见下表:
目录路径 | 描述 | 代码仓位置 |
---|---|---|
build | 项目构建和配置脚本 | OpenHarmony/build |
build_plugins | 跨平台构建插件 | ArkUI-X/build_plugins |
samples | 应用程序样例 | ArkUI-X/samples |
community | 社区运作管理 | ArkUI-X/community |
docs | 说明文档 | ArkUI-X/docs |
developtools/ace_tools | 跨平台应用构建命令行工具 | ArkUI-X/cli |
foundation/appframework | 应用框架兼容适配层 | ArkUI-X/app_framework |
foundation/arkui/ace_engine/adapter/android | Android平台适配代码 | ArkUI-X/arkui_for_android |
foundation/arkui/ace_engine/adapter/ios | iOS平台适配代码 | ArkUI-X/arkui_for_ios |
foundation/arkui/ace_engine | ArkUI引擎核心代码 | OpenHarmony/arkui_ace_engine |
foundation/arkui/napi | Native API扩展机制 | OpenHarmony/arkui_napi |
foundation/graphic/graphic_2d | 2D图形基础库 | OpenHarmony/graphic_graphic_2d |
arkcompiler/ets_frontend | 方舟前端工具 | OpenHarmony/arkcompiler_ets_frontend |
arkcompiler/ets_runtime | 方舟ArkTS运行时 | OpenHarmony/arkcompiler_ets_runtime |
arkcompiler/runtime_core | 方舟编译器运行时 | OpenHarmony/arkcompiler_runtime_core |
arkcompiler/toolchain | 调试调优工具 | OpenHarmony/arkcompiler_toolchain |
prebuilts | 预编译目录,python,nodejs,clang和cmake等 | 通过脚本预下载 |
third_party | 开源第三方组件(统一复用OpenHarmony代码仓) | 引用开源三方库集合 |
commonlibrary/c_utils | C++公共基础类库 | OpenHarmony/commonlibrary_c_utils |
base/global/resource_management | 全球化资源管理 | OpenHarmony/global_resource_management |
plugins | API插件管理,OpenHarmony API插件实现 | ArkUI-X/plugins |
test/xts | ArkUI-X应用测试套件 | ArkUI-X/xts |
test/testfwk/arkxtest | ArkUI-X测试框架 | ArkUI-X/arkxtest |
interface/sdk | ArkUI-X SDK相关配置 | ArkUI-X/interface_sdk |
productdefine/common | ArkUI-X产品形态定义 | ArkUI-X/productdefine |
说明:OpenHarmony相关代码仓,指向OpenHarmony master分支的固定tag点,定期同步,默认按照OpenHarmony的Weekly分支频率进行同步。
ArkUI引擎核心代码仓 ace_engine
的目录结构以及每个目录的内容如下:
foundation/arkui/ace_engine
├── ace_config.gni // 全局配置文件
├── adapter // 平台适配层
│ ├── android // Android平台适配,独立仓
│ │ ├── build
│ │ ├── capability
│ │ ├── entrance
│ │ ├── stage
│ │ └── osal
│ ├── ios // iOS平台适配,独立仓
│ │ ├── build
│ │ ├── capability
│ │ ├── entrance
│ │ ├── stage
│ │ └── osal
│ ├── ohos // OpenHarmony平台适配
│ └── preview // 预览器平台适配
├── build // 编译配置
│ ├── ace_gen_obj.gni
│ ├── ace_lib.gni
│ ├── BUILD.gn
│ ├── search.py
│ └── tools
├── BUILD.gn // 全局编译配置
├── frameworks // 引擎框架层
│ ├── base // base库
│ ├── bridge // 前端桥接
│ └── core // 引擎核心实现
├── interfaces // 通用对外接口
│ └── napi
│ └── kits
├── LICENSE
├── OAT.xml
├── README.md
├── README_zh.md
└── test // 测试相关