• 1. 创建第一个harmonyos工程


    创建HarmonyOS第一个项目

    环境准备:

    • JDK安装。
    • DevEco Studio安装。
    • HarmonyOS SDK安装。

    额外还需要有开发者账号,很多时候开发者账号登录之后可以快速解决若干IDE问题。

    需要注意的是,HarmonOS分为两个版本,OpenHarmony和HarmonyOS,这是两个不同版本。就如同JDK分为了OpenJDK,及Oracle JDK版本。 OpenHarmony已经开源,交由开放原子开源基金会管理及运营。HarmonyOS由Huawei根据需要在OpenHarmony的基础能力上进行开发和发布,并非全部开源,在Java框架层并没有开源,因此在开发过程中,例如想查看AbilitySlice文件源码是无法查看到的。

    还有一个区别在于,OpenHarmony目前只支持JS,eTS开发,不支持Java开发。HarmonyOS才支持Java开发。


    创建第一个HarmonyOS项目

    1. 打开DevEco Studio。
      请添加图片描述

    2. Create Project。

      第一次打开会要求配置nodejs等环境操作。创建项目,在打开的弹框中选择要创建的类型,可以看可选的2个tab分别是HarmonyOSOpenHarmony
      请添加图片描述请添加图片描述

      这里选择HarmonyOS 下的EmptyAbility模板创建。当鼠标移动到模板图片是,IDE会显示Ability支持的设备类型。
      请添加图片描述

    3. 命名项目及保存位置。
      请添加图片描述

      目前HarmonyOS SDK支持到 Compile SDk 最新是 8,但8版本中不能支持Java开发,因此这里选择7,同样可以选择 Compatible SDK 来设置支持的最低版本,这里选择最小的4。

    4. 完成。

      设置全部完成之后,就可以点击 Finish按钮。

      做完上述步骤后,一个project就创建完成了。

    5. 运行到设备上。

      这里需要注意的是,运行到真机设备上,需要专门的签名文件,最方便的方式,File > Project Structure > Signing Configs,打开工程结构的签名对话框。可以看到如下图。
      请添加图片描述

      在这里勾选 Automatically generate signature ,并且登录开发者账号。这样可以快速解决debug模式下的app运行签名问题。
      请添加图片描述

    最后看看运行的第一个harmonyos程序。

    遇到了问题,错误信息提示如下。

    11:51	App Launch: The type of the target device does not match the deviceType configured in the config.json file.
    
    • 1

    因此打开文件 config.json

    可以查看 module节点下deviceType的值时phone

    "module": {
        "package": "com.sanren1024.ohos",
        "name": ".MyApplication",
        "mainAbility": "com.sanren1024.ohos.MainAbility",
        "deviceType": [
          "phone"
        ],
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    将值phone修改为tablet之后再运行。
    请添加图片描述

  • 相关阅读:
    Qt HTTP下载数据
    vue中如何给特殊字段设置插槽
    对象json文件转换
    前端面试题整理——webpack相关考点
    xilinx-kernel-source-5.10内核版本编译报错-mlittle-endian
    编辑器的一些碎碎念
    MyBatis-Plus为简化开发而生
    天天爱跑步【NOIP2016 T4】
    说说你对单例模式的理解?如何实现?
    蓝桥杯每日一题2023.10.16
  • 原文地址:https://blog.csdn.net/snowgeneral/article/details/126301453