HarmonyOS开发环境搭建搭建问题

这里记录从0开始基于HarmonyOS开发过程中出现的环境问题及可以解决方案。对于有Android开发经验的程序员来讲,这个过程应该很快,但有部分区别,一开始下载 HarmonyOS SDK时,我感觉这个环境准备很浪费时间,一个country.region 的配置问题(很stupid的问题),就差点儿让人不想去尝试这个IDE,进而放弃尝试HarmonyOS的尝试。

先注册开发者账号。

HarmonyOS SDK配置问题

准备工作:安装nodejs, npm,jdk等。

下载DevEco Studio,打开加载IDE,首先需要选择nodejs目录。设置完成后,会显示HarmonyOS SDK, OpenHarmony SDK位置。OpenHarmony SDK是安装DevEco Studio后自带有的环境,默认OpenHarmony SDK地址在本地用户目录 C:\Users\username\AppData\Local\OpenHarmony\Sdk 下 。但HarmonyOS SDK就需要下载,这里一开始就可能看到弹窗上的红色英文提示 Network connectin failed. Check the network or HTTP proxy settings. 。在手动配置HarmonyOS SDK也会有这个提示,就像官网上提供的一样。
请添加图片描述
这个问题导致的原因是国家区域设置问题导致的。由于HarmonyOS目前还不是主流的移动OS,能搜索到的相关信息要么不知道怎么解决,要么直接告诉你修改国家区域配置,但不写明修改的配置文件在哪里。

其实这个问题的解决方案在官方文档中给了详细的解决方法,环境准备问题。这个区域默认值是US,将区域值由 US -> CN 就可以解决了。

这个区域设置导致的网络连接失败问题,其实挺stupid,但想想 DevEco Studio这个IDE是基于Intellij IDEA开发的也就不纠结了。

Nodejs版本问题

目前最新版本的DevEco Studio是3.0 Beta4,与之匹配的nodejs版本只能是 14.19.1~15.0.0
请添加图片描述

Gradle配置问题

若在使用DevEco Studio的IDE前,使用Android Studio进行了android开发,配置了Gradle Home等环境变量,可能导致使用DevEco Studio配置本地Gradle无法生效问题。

请添加图片描述

如图,将 Use Gradle from 项修改为本地gradle,之后确定。当再次打开IDE时,查看Gradle配置会发现,这里红框内的配置恢复到了最开始的项目默认gradle配置。

可以修改 Gradle user home 项,修改成一个专门为DevEco Studio使用的目录。因为默认下,这里读取到的是Android Studio配置的GradleUserHome目录。

配置环境变量

类似Android adb命令工具,HarmonyOS SDK内也有hdc命令工具,为了更好的直接使用这个工具,将其配置系统成环境变量。

运行app提示签名问题

DevEco Studio在真机上运行app程序时,需要一个真实签名。若再debug时想快速生成签名,

  1. File -> Project Structure -> Project -> Signing Configs,打开签名界面。
  2. 选中Automatically generate signature,然后点击OK

若打开的界面显示没有登录,先进行登录操作。

运行app提示sdk版本不对

当运行app遇到INSTALL_PARSE_FAILED_USESDK_ERROR错误提示。

08/11 11:15:30: Launching com.ruixi.pack
$ hdc shell am force-stop com.ruixi.pack
$ hdc shell bm uninstall com.ruixi.pack
$ hdc file send D:\Workbench\RXElectricBLE_HarmonyOS\entry\build\outputs\hap\debug\entry-debug-rich-signed.hap /sdcard/15f82ebfa95f473e84971d2028490296/entry-debug-rich-signed.hap
$ hdc shell bm install -p /sdcard/15f82ebfa95f473e84971d2028490296/
Failure[INSTALL_PARSE_FAILED_USESDK_ERROR]
$ hdc shell rm -rf /sdcard/15f82ebfa95f473e84971d2028490296
Error while Deploying HAP

原因在于程序build.gradle文件中的compileSdkVersioncompatibleSdkVersion与调试设备的apiVersionreleaseVersion不一致。

  1. 通过hdc命令工具查看设备的apiVersionreleaseVersion

    hdc shell
    getprop hw_sc.build.os.apiversion
    getprop hw_sc.build.os.releasetype
    

    执行结果:

    > hdc shell
    HWJDN2:/ $ getprop hw_sc.build.os.apiversion
    5
    HWJDN2:/ $ getprop hw_sc.build.os.releasetype
    Release
    HWJDN2:/ $
    
  2. 打开build.gradlew文件,修改compileSdkVersioncompatibleSdkVersion
    请添加图片描述
    修改最低兼容api版本。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐