ArkUI-X简介
ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用
该框架对应的IDE版本为 4.0 Beta2 ,相较于3.x版本而言,4.x版本支持了对多端OS的支持
DevEco Studio 简介
DevEco Studio 简介是华为官网推出的开发工具
下载 DevEco Studio 4.0 Beta2版本
ACE Tools简介
ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等。
安装 ACE Tools
进入ArkUI-X目录
npm install 安装ACE Tools
ace check检查环境(如果你开发过flutter的话,那么ace check就相当于flutter doctor)
翻译如下:
警告:
需要OpenHarmony sdk,请参考HarmonyOS开发人员下载并安装。
需要HarmonyOS Sdk,请参阅HarmonyOSDeveloper下载并安装它。
节点是必需的,请下载v14.19.1和v16之间的版本。
Ohpm是必需的,请使用DevEco Studio或命令行工具下载。
需要ArkUI-X Sdk,请下载最新版本。
需要安卓Sdk,请使用安卓工作室下载。
Android Studio是必需的,请访问https://developer.android.google.cn/studio下载它。
ace create project 可见需要将未配置的环境变量配置上去
[X] ArkUI-X(v1.0.0 Alpha)
X ArkUI-X SDK未安装
找不到X Node.js运行时环境
•Java Sdk,位于C:\Program Files\Java\jdk-21\
找不到X Ohpm工具
[X] OpenHarmony工具链-为OpenHarmoney设备开发
X OpenHarmony SDK未安装
找不到X Node.js运行时环境
•Java Sdk,位于C:\Program Files\Java\jdk-21\
找不到X Ohpm工具
[X] HarmonyOS工具链-为HarmonyOS设备开发
未安装X HarmonyOS SDK
找不到X Node.js运行时环境
•Java Sdk,位于C:\Program Files\Java\jdk-21\
找不到X Ohpm工具
[!]Android工具链-为Android设备开发
!如果您想开发Android APP,则未安装Android SDK
[√]DevEco Studio[需要DevEco Studio4.0 Beta2,API版本10+]
•DevEco Studio,位于C:\Program Files\Huawei\DevEco Studio\bin
[!]安卓工作室
!未安装Android Studio,您可以在中安装https://developer.android.google.cn/studio
配置nodejs环境
cmd 激活代码立即生效
set NODE_HOME=/path-to-nodejs-sdk
set PATH=%PATH%;%NODE_HOME%/bin
C:\Users\Administrator\node\node-16.20.1
nodejs附加目录配置
C:\Users\Administrator\node\node-16.20.1\node_modules\npm\bin
C:\Users\Administrator\node\node-16.20.1\node_modules
配置ohpm环境
C:\Users\Administrator\ohpm\ohpm-1.2.4\bin
配置Java环境
C:\Program Files\Java\jdk-21\
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
配置OpenHarmony SDK环境
OpenHarmony_HOME C:\Users\Administrator\AppData\Local\OpenHarmony\Sdk
%OpenHarmony_HOME%\versioncode\toolchains
配置HarmonyOS SDK环境
C:\Users\Administrator\AppData\Local\Huawei\Sdk
HarmonyOS_HOME C:\Users\Administrator\AppData\Local\Huawei\Sdk
%HarmonyOS_HOME%\hmscore\versioncode\toolchains
配置ArkUI-X SDK环境
C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk
ARKUIX_SDK_HOME C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk
C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk
%ARKUIX_SDK_HOME%
%ARKUIX_SDK_HOME%\10\arkui-x\toolchains\ace_tools\src\bin
配置Android studio SDK环境
C:\Users\Administrator\AppData\Local\Android\Sdk
ANDROID_HOME C:\Users\Administrator\AppData\Local\Android\Sdk
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
%ANDROID_HOME%\build-tools\34.0.0
%ANDROID_HOME%\platform-tools
如果cmd 运行 ace check有没对的选项,可能是环境变量缓存的问题,请使用如下代码进行激活更新一下缓存
set NODE_HOME=/path-to-nodejs-sdk
set PATH=%PATH%;%NODE_HOME%/bin
ace create
让后我们将项目导入到华为DevEco Studio 就可以愉快的编写Arkts代码了
写点东西吧:
@State message: string = 'Hello Arkui-X'
菜单栏 Build > Build Hap(s)/APP(s) > Build APP(s) 构建为Android APP
遇到问题:gradle报错:Deprecated Gradle features were used in this build, making it incompatible with Gradle 8
开发工具:idea
gradle版本:7.5
JDK:17
问题:在初次导入工程之后,设置后项目的jdk相关版本之后,启动项目报错:Deprecated Gradle features were used in this build, making it incompatible with Gradle 8
排查点一:查看版本
查看当前环境的gradle版本是否有冲突
排查点二:查看是否有弃用语法
在idea的 Terminal 窗口 cd 到项目文件夹下,执行命令 ./gradlew --warning-mode all ,会看到下图的提示信息
笔者解决的
这是因为仓库的 jcenter() 语法被弃用,需要改用 mavenCentral() ,改完之后重新刷新项目即可
使用Android Studio打开你在DevEco Studio 中开发的基于ArkUI-X开发的项目
检查
使用华为官方推荐的 AnLink安联工具投屏到手机上查看最终效果 !!!
补充:关于ace run 暂时无法构建出APP到手机上 ,应该是官方BUG待修复
官方的nodejs配置完环境变量有缓存问题需要使用 (ctrf+f搜索激活代码进行激活)BUG待修复
以下是遇到的问题带修复 cmd 执行操作演示如下:
C:\Users\Administrator\Desktop\androidDemo>ace check
[√] ArkUI-X(v1.0.0 Alpha)
• ArkUI-X SDK at C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk
• Node.js Runtime Environment at /path-to-nodejs-sdk
• Java Sdk at C:\Program Files\Java\jdk-21\
• Ohpm at C:\Users\Administrator\ohpm
[√] OpenHarmony toolchains - develop for OpenHarmony devices
• OpenHarmony SDK at C:\Users\Administrator\AppData\Local\OpenHarmony\Sdk
• Node.js Runtime Environment at /path-to-nodejs-sdk
• Java Sdk at C:\Program Files\Java\jdk-21\
• Ohpm at C:\Users\Administrator\ohpm
[√] HarmonyOS toolchains - develop for HarmonyOS devices
• HarmonyOS SDK at C:\Users\Administrator\AppData\Local\Huawei\Sdk
• Node.js Runtime Environment at /path-to-nodejs-sdk
• Java Sdk at C:\Program Files\Java\jdk-21\
• Ohpm at C:\Users\Administrator\ohpm
[√] Android toolchains - develop for Android devices
• Android SDK at C:\Users\Administrator\AppData\Local\Android\Sdk
[√] DevEco Studio [Requires DevEco Studio 4.0 Beta2, API Version 10+]
• DevEco Studio at C:\Program Files\Huawei\DevEco Studio
[!] Android Studio
! Android Studio is not installed, you can install in https://developer.android.google.cn/studio
Warning:
Android Studio is required, visit https://developer.android.google.cn/studio to download it.
Tools info :[√] OpenHarmony hdc installed [√] HarmonyOS hdc installed [√] adb installed
[√] Connected device (2 available)
• Android Devices 3418645238000CF device
• OpenHarmony/HarmonyOS Devices 3418645238000CF device
! ACE Tools found issues in 1 category.
C:\Users\Administrator\Desktop\androidDemo>ace run
Error: more than one devices/emulators found, please use '--device <deviceId>'.
C:\Users\Administrator\Desktop\androidDemo>ace
Usage: ace <command> [options]
Options:
-V, --version output the version number
-d, --device <device> input device id to specify the device to do something
-h, --help display help for command
Commands:
create [subcommand] create ace project/module/component/ability
check check sdk environment
devices list the connected devices.
config [options]
--openharmony-sdk [OpenHarmony SDK]
--harmonyos-sdk [HarmonyOS SDK]
--android-sdk [Android Sdk]
--deveco-studio-path [DevEco Studio Path]
--android-studio-path [Android Studio Path]
--build-dir [Build Dir]
--nodejs-dir [Nodejs Dir]
--java-sdk [Java Sdk]
--arkui-x-sdk [ArkUI-X SDK]
--ohpm-dir [Ohpm Dir]
build [options] [fileType] build hap/apk/app/aar/framework/xcframework of moduleName
install [options] [fileType] install hap/apk/app on device
uninstall [options] [fileType] uninstall hap/apk/app on device
run [options] [fileType] run hap/apk on device
launch [options] [fileType] launch hap/apk on device
log [fileType] show debug log
clean clean project
test [options] [fileType] test apk/app on device
--b [Test BundleName]
--m [Test ModuleName]
--unittest [TestRunner]
--timeout [Test timeout]
help [command] display help for command
C:\Users\Administrator\Desktop\androidDemo>ace devices
Tools info :[√] OpenHarmony hdc installed [√] HarmonyOS hdc installed [√] adb installed
[√] Connected device (2 available)
• Android Devices 3418645238000CF device
• OpenHarmony/HarmonyOS Devices 3418645238000CF device
C:\Users\Administrator\Desktop\androidDemo>ace --device 3418645238000CF
Usage: ace <command> [options]
Options:
-V, --version output the version number
-d, --device <device> input device id to specify the device to do something
-h, --help display help for command
Commands:
create [subcommand] create ace project/module/component/ability
check check sdk environment
devices list the connected devices.
config [options]
--openharmony-sdk [OpenHarmony SDK]
--harmonyos-sdk [HarmonyOS SDK]
--android-sdk [Android Sdk]
--deveco-studio-path [DevEco Studio Path]
--android-studio-path [Android Studio Path]
--build-dir [Build Dir]
--nodejs-dir [Nodejs Dir]
--java-sdk [Java Sdk]
--arkui-x-sdk [ArkUI-X SDK]
--ohpm-dir [Ohpm Dir]
build [options] [fileType] build hap/apk/app/aar/framework/xcframework of moduleName
install [options] [fileType] install hap/apk/app on device
uninstall [options] [fileType] uninstall hap/apk/app on device
run [options] [fileType] run hap/apk on device
launch [options] [fileType] launch hap/apk on device
log [fileType] show debug log
clean clean project
test [options] [fileType] test apk/app on device
--b [Test BundleName]
--m [Test ModuleName]
--unittest [TestRunner]
--timeout [Test timeout]
help [command] display help for command
C:\Users\Administrator\Desktop\androidDemo>ace run --device 3418645238000CF
Start building hap...
系统找不到指定的路径。
Run tasks failed.
Error: Command failed: cd C:\Users\Administrator\Desktop\androidDemo && C:\Users\Administrator\ohpm\bin\ohpm install && .\hvigorw -p product=default --mode module -p module=entry assembleHap
at checkExecSyncError (node:child_process:861:11)
at execSync (node:child_process:932:15)
at runGradle (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\src\ace-build\ace-compiler\index.js:246:5)
at compilerPackage (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\src\ace-build\ace-compiler\index.js:298:8)
at compiler (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\src\ace-build\ace-compiler\index.js:364:10)
at run (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\src\ace-run\index.js:32:5)
at Command.<anonymous> (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\src\bin\ace_tools.js:290:9)
at Command.listener [as _actionHandler] (C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\node_modules\commander\lib\command.js:482:17)
at C:\Users\Administrator\AppData\Local\ArkUI-X\Sdk\10\arkui-x\toolchains\ace_tools\node_modules\commander\lib\command.js:1283:65 {
status: 1,
signal: null,
output: [ null, null, null ],
pid: 20940,
stdout: null,
stderr: null
}
Compile failed.
WARN: Before installing the [entry] hap,please complete the signature.
There is no file to install
Run failed.
C:\Users\Administrator\Desktop\androidDemo>