• 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版本。

  • 相关阅读:
    leetcode 1921. 消灭怪物的最大数量(每日一题)
    开发中用到的数据库查询案例
    【Mysql】使用binlog日志进行数据库迁移和数据恢复
    使用skvideo.io.vread读取avi视频,报错“No way to determine width or height from video...”
    SegNet学习笔记
    Promise从入门到精通(第4章 async 和 await)
    国家数据局正式揭牌,数据专业融合型人才迎来发展良机
    docker篇---docker-compose和dockerfile构建镜像
    毕业论文写作指南
    springcloud
  • 原文地址:https://blog.csdn.net/snowgeneral/article/details/126299241