ArkUI-X框架开发快速入门
ArkUI框架
ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览工具,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。
ArkUI-X
ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS,Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。
API扩展
API扩展包括两部分内容:
一是复用OpenHarmony NAPI机制,在Android和iOS平台实现OpenHarmony的接口定义;
二是支持开发者基于Android和iOS平台接口能力或三方库能力扩展业务插件。
环境准备
-
编译环境需要Ubuntu18.04及以上版本,macOS需要11.6.2及以上版本。
-
安装编译所需的程序包。
[Linux]
sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4
[macOS]
brew install wget coreutils
配置Java环境
说明: 建议下载JDK11.0.2以上版本,下载请点击此处。
[Linux]
// 配置环境变量
export JAVA_HOME=/home/usrername/path-to-java-sdk
export PATH=${JAVA_HOME}/bin:${PATH}
[macOS]
// 配置环境变量
export JAVA_HOME=/Users/usrername/path-to-java-sdk
export PATH=$JAVA_HOME/bin:$PATH
配置Android SDK环境
[Linux]
通过命令行工具下载和管理Android SDK,命令行工具使用说明详见sdkmanager官方指导。SDK版本下载要求如下:
./sdkmanager --install "ndk;21.3.6528147" --sdk_root=/home/usrername/path-to-android-sdk
./sdkmanager --install "platforms;android-26" --sdk_root=/home/usrername/path-to-android-sdk
./sdkmanager --install "build-tools;28.0.3" --sdk_root=/home/usrername/path-to-android-sdk
// 配置环境变量
export ANDROID_HOME=/home/usrername/path-to-android-sdk
export PATH=${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/build-tools/28.0.3:${ANDROID_HOME}/platform-tools:${PATH}
[macOS]
通过IDE SDK管理器下载和管理Android SDK,NDK版本要求为:21.3.6528147,SDK Platform版本为:26。
// 配置环境变量
export ANDROID_HOME=/Users/usrername/path-to-android-sdk
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/build-tools/28.0.3:$ANDROID_HOME/platform-tools:$PATH
配置iOS SDK环境
-
Xcode和Command Line Tools for Xcode应用可前往Mac App Store应用商店下载安装。
-
Command Line Tools也可使用命令方式安装:
xcode-select --install
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
ArkUI-X编译
使用build.sh编译脚本
使用build.sh编译脚本进行编译,编译脚本常用选项
--product-name # 必须 编译的产品名称,如:arkui-x
--target-os # 必须 编译的跨平台目标,如:android或ios
--target-cpu # 可选 指定target侧CPU架构,如:arm或arm64
--build-target # 可选 指定编译目标,可以指定多个
--gn-args # 可选 gn参数,支持指定多个
--ninja-args # 可选 ninja参数,如:--ninja-args=-dkeeprsp
--log-level # 可选 指定log等级,如:info或debug
--help, -h # 可选 命令行help辅助命令
新下载代码或更新代码时,需要下载或更新预编译工具链,命令如下
./build/prebuilts_download.sh --build-arkuix
编译命令示例
查看编译脚本支持的选项
./build.sh -h
ArkUI-X Android平台编译命令:
./build.sh --product-name arkui-x --target-os android
ArkUI-X iOS平台编译命令:
./build.sh --product-name arkui-x --target-os ios