一、准备

当开始开发一个应用/元服务时,首先需要根据工程创建向导创建一个新的工程,工具会自动生成对应的代码和资源模板。

DevEco Studio 提供了基础的工程模板资源,不同模板支持的设备类型、API Version 可能不同,在创建新工程前,请提前了解各模板的相关信息,具体请参考工程模板介绍。

说明:在运行 DevEco Studio 工程时,建议每一个运行窗口有 2GB 以上的可用内存空间。

二、创建 HarmonyOS 工程

步骤一:打开工程创建向导

有两种方式打开工程创建向导界面:

情况操作
当前未打开任何工程在 DevEco Studio 的欢迎页,选择 Create Project
已经打开了工程在菜单栏选择 File > New > Create Project

步骤二:选择工程类型和模板

根据工程创建向导:

  1. 选择创建 Application 或 Atomic Service

  2. 再选择需要的 Ability 工程模板

  3. 单击 Next

说明:

  • 从 API 11 版本开始支持 Atomic Service 元服务工程开发

  • Atomic Service 元服务工程暂不支持 Native 开发

  • [CloudDev] Empty Ability 模板:该功能仅支持中国境内

步骤三:配置工程基本信息

在工程配置页面,需要根据向导配置工程的基本信息。

配置项说明
Project name工程的名称,可以自定义,由大小写字母、数字和下划线组成,必须由大小写字母开头,长度为 1~200 个字符
Bundle name标识应用的包名,用于标识应用的唯一性
Save location工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符
Compatible SDK兼容的最低 API Version
Module name模块的名称
Device type该工程模板支持的设备类型。设备类型说明请参考 deviceTypes 标签
C++ StandardC++ 标准库。从 DevEco Studio 6.0.1 Beta1 开始,支持选择不同版本,取值包括:
• Toolchain Default
• C++ 11
• C++ 14

步骤四:完成创建

单击 Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

三、Bundle name(应用包名)de要求

要求说明
分隔符必须以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字、下划线(_)
示例com.example.myapplication
首段规则首段以英文字母开头,非首段以数字或英文字母开头,每一段以数字或者英文字母结尾
示例com.01example.myapplication
连续点号不允许多个点号(.)连续出现
长度7~128 个字符

四、Compatible SDK 填写

从 26.0.0 版本开始,除 [Lite] EmptyAbility 工程模板外,其余工程模板新增 View API version distribution,点击可查看 HarmonyOS 设备各 API 版本使用量占比。

字段含义
Percentage设备量占比
Cumulative Percentage设备量累计占比

默认值规则:

Compatible SDK 默认显示设备量累计占比超过 90% 的最高的 API 版本。

说明:View API version distribution 功能仅支持中国境内

五、创建 OpenHarmony 工程

如需创建 OpenHarmony 工程进行应用开发,需要先完成创建 HarmonyOS 工程,然后根据 API 版本不同,修改工程级 build-profile.json5 文件中的相关字段。

情况一:API 26.0.0 及之后版本

操作步骤:

  1. 在工程级 build-profile.json5 文件添加 compileSdkVersion 字段,并赋值为字符串类型

  2. 将 runtimeOS 从 "HarmonyOS" 修改为 "OpenHarmony"

示例:

"app": {
  "signingConfigs": [],
  "products": [
    {
      "name": "default",
      "signingConfig": "default",
      "compileSdkVersion": "26.0.0",   // 指定 OpenHarmony 应用编译时的版本,当前以 API 26.0.0 为例
      "targetSdkVersion": "26.0.0",    // 指定 OpenHarmony 应用运行所需的目标 SDK 版本,当前以 API 26.0.0 为例
      "compatibleSdkVersion": "26.0.0", // 指定 OpenHarmony 应用兼容的最低版本,当前以 API 26.0.0 为例
      "runtimeOS": "OpenHarmony",
      "buildOption": {
        "strictMode": {
          "caseSensitiveCheck": true,
          "useNormalizedOHMUrl": true
        }
      }
    }
  ]
}

情况二:API 26.0.0 之前版本

操作步骤:

  1. 在工程级 build-profile.json5 文件添加 compileSdkVersion 字段

  2. 将 compatibleSdkVersion、compileSdkVersion、targetSdkVersion(若有)字段赋值为数值类型

  3. 将 runtimeOS 从 "HarmonyOS" 修改为 "OpenHarmony"

示例:

"app": {
  "signingConfigs": [],
  "products": [
    {
      "name": "default",
      "signingConfig": "default",
      "compileSdkVersion": 24,   // 指定 OpenHarmony 应用编译时的版本,当前以 API 24 为例
      "targetSdkVersion": 24,    // 指定 OpenHarmony 应用运行所需的目标 SDK 版本,当前以 API 24 为例
      "compatibleSdkVersion": 24, // 指定 OpenHarmony 应用兼容的最低版本,当前以 API 24 为例
      "runtimeOS": "OpenHarmony",
      "buildOption": {
        "strictMode": {
          "caseSensitiveCheck": true,
          "useNormalizedOHMUrl": true
        }
      }
    }
  ]
}

同步工程

  1. 单击 Sync Now 进行同步

  2. 在 Sync Check 弹窗口中点击 Yes,同意将 module.json5/config.json 文件中的 phone 切换为 OpenHarmony 支持的 default 类型,并删除在 OpenHarmony 不适用的其他设备类型

  3. 同步成功无其他报错则工程创建完成

说明:若选择 Native C++ 模板创建 OpenHarmony 应用,且应用需要在 RK 开发板上运行,则需在对应 Native 模块的 build-profile.json5 文件 buildOption/externalNativeOptions 字段下,新增 abiFilters 字段并赋值为 "armeabi-v7a"。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐