• 0. HarmonyOS开发环境搭建问题


    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

      hdc shell
      getprop hw_sc.build.os.apiversion
      getprop hw_sc.build.os.releasetype
      
      • 1
      • 2
      • 3

      执行结果:

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

  • 相关阅读:
    【MySQL教程】| (1-1) 2023MySQL-8.1.0 安装教程
    接口开发知识点整理三
    物联网AI MicroPython传感器学习 之 RGB三色灯
    Leetcode 37. 解数独
    【C/C++】递归算法
    offline RL · PbRL | Preference Transformer:反正感觉 transformer 很强大
    TypeScript接口
    cad提示由于找不到mfc140u.dll,无法继续执行代码怎么修复
    2022-08-04 Brighthouse: An Analytic DataWarehouse for Ad-hoc Queries
    React项目中Manifest: Line: 1, column: 1, Syntax error的解决方法
  • 原文地址:https://blog.csdn.net/snowgeneral/article/details/126299241