OpenHarmony DevEco Studio使用指南-工程管理

丶龙八夷
发布于 2023-4-4 11:58
浏览
0收藏

工程模板及开发语言介绍

DevEco Studio支持多种品类的OpenHarmony应用/服务开发,预置了丰富的工程模板,可以根据工程向导轻松创建适应于各类场景的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行OpenHarmony应用/服务开发,包括ArkTS、JS和C/C++。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

工程模板支持的开发语言、API版本、设备类型,如下表所示:

模板名称

支持的开发语言

支持的API版本

支持的设备

说明

Empty Ability

ArkTS

8、9

Default、Tablet

用于设备的Feature Ability模板,展示了基础的Hello World功能。

JS

8、9

Default、Tablet

Native C++

ArkTS+C++

8、9

Default、Tablet

作为OpenHarmony应用/服务调用C++代码的示例工程,界面显示“Hello World”。

JS+C++

8、9

Default、Tablet

About Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的关于页面。模板的上方通过基础组件Image、Text展示了应用的基本信息,点击中间的List组件可以打开详情页,下方使用Web组件加载了用户协议和隐私声明的Html文件。开发者可以在模板的基础上,补充List内容,替换相关显示信息。

Business Card Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的名片页面。模板底部通过Tab组件实现不同名片的切换,中间的详情List组件使用了不同的Widget,如Information图标、Switch开关、右侧箭头图标等。开发者可以根据需要替换用户名称和List组件内容。

Category Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的分类展示页面。模板上方是Navigation组件和search组件,下方是Tab组件。中间的List组件有联动,点击左边List的分类项,右边List会滑动到对应位置,反之亦然。开发者可以根据需要替换相关内容。

Category List Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的卡片型设置页面。模板上方是Navigation组件和search组件,中间的List组件参考Settings的界面风格,由子标题加List卡片组成。开发者可以根据需要替换标题和每一个设置项的内容。

Grid Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的网格布局页面。模板上方是Navigation组件,中间分割成两个大小不同的Grid组件,每个Grid组件的Item等比例显示。开发者可以通过模板学习Grid组件的使用方式。

List Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的列表页面。模板上方是Navigation组件和search组件,下方是Tab组件。中间的List组件使用了双行布局,点击打开详情页。开发者可以根据需要替换双行列表和辅助文本内容。

Login Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的登录页面。用户输入账号和密码之后,才能点击登录按钮。点击登录、注册和遇到问题分别会跳转到示例页面。模板底部使用Web组件加载了隐私声明的Html文件。开发者可以补充账号密码的存储逻辑,完善登录功能。

Splash Screen Ability

ArkTS

8、9

Default、Tablet

可以快速创建应用的启动过程页面。模板右上角显示倒计时图标,点击跳过按钮或者等倒计时结束都会进入应用主界面,下方提供了应用的版权信息。开发者可以设置倒计时时间,根据需要整体替换广告背景。

创建OpenHarmony工程

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

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

创建和配置新工程

  1. 通过如下两种方式,打开工程创建向导界面。
  • 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
  • 如果已经打开了工程,可以在菜单栏选择File>New>Create Project来创建一个新工程。
  1. 根据工程创建向导,在OpenHarmony页签,选择“Empty Ability”模板,单击Next

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 单击Next,进入到工程配置阶段,需要根据向导配置工程的基本信息。
  • Project name:工程的名称,可以自定义,由大小写字母、数据和下划线组成。
  • Project type:工程的类型,标识该工程是一个传统方式的需要安装的应用(Application)或原子化服务(Atomic service),默认类型为Application。工程创建完毕后,如何将原子化服务修改为应用,请参考​​将原子化服务工程改为应用工程​​。

说明

如果是创建的原子化服务,则:

  • 原子化服务调试、运行时,在设备桌面上没有应用图标,请使用DevEco Studio​​应用/服务运行​​,来启动原子化服务。
  • 原子化服务是免安装的,config.json中自动添加installationFree字段,取值为“true”。
  • 如果entry模块的installationFree字段为“true”,则其相关的所有hap模块的installationFree字段都默认为“true”;如果entry模块的installationFree字段为“false”,则其相关的所有hap模块可以配置为“true”或“false”。
  • 编译构建App时,每个HAP大小不能超过10MB。
  • Bundle name:标识应用的包名,用于标识应用的唯一性。如果“Project type”选择了Atomic service,则Bundle name的后缀名必须是.hmservice。
  • Save location:工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。
  • Compile SDK:编译的SDK版本。
  • Model:选择​FA模型​​​或​​Stage模型​​(Stage模型仅Compile API为9及以上支持)。
  • Enable Super Visual:选择开发模式,部分模板支持低代码开发,可选择打开该开关。
  • Language:开发语言。
  • Compatible SDK:兼容的SDK最低版本。
  • Device type:该工程模板支持的设备类型。其中,Default表示能够使用全部系统能力的OpenHarmony设备。
  • Show in service center:是否在服务中心展示。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

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

将原子化服务工程改为应用工程

原子化服务是免安装的,如果创建的是原子化服务工程,config.json中会自动添加installationFree字段,取值为“true”。如果要将原子化服务工程改成应用工程,将config.json中的installationFree字段取值修改为“false”。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

Gradle工程适配为Hvigor程。

该适配场景适用于开发者希望将原OpenHarmony API 7的工程升级到OpenHarmony API 8或9的工程。

原OpenHarmony API 7的工程采用的是Gradle自动化构建工具,而OpenHarmony API 8/9的工程则采用Hvigor自动化构建工具,由于Gradle构建工具和Hvigor构建工具的配置文件不同,因此,对于采用Gradle编译构建的历史工程,需要手动进行适配,以适用于使用Hvigor工具进行编译构建。

说明

由于OpenHarmony API 7的工程属于FA模型,因此将工程升级到OpenHarmony API 8/9时,也只能升级为FA模型,不支持升级为Stage模型。

关于OpenHarmony API 7工程的升级适配,提供如下两种方法:

适配方法一

  1. 使用DevEco Studio创建一个OpenHarmony新工程。在配置工程信息时,请注意:
  • Bundle name:请与需要适配的历史工程的Bundle name保持一致。待适配工程的Bundle name字段可在模块目录下的config.json文件中进行查阅。
  • Compile SDK:请选择将要适配的目标API版本,支持选择8/9。
  • Model:请选择FA。
  • Language:选择与待适配工程使用的代码语言保持一致。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 等待工程npm install执行完成后,删除entry下的src目录,请注意,其它配置文件不要删除。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

  1. 将待适配工程entry模块下的src目录,拷贝到上述工程的entry文件夹下。

说明

如果待适配工程存在多个模块,可拷贝上述整个entry模块文件夹并修改模块名,然后将待适配模块中的源码和资源文件夹,替换到该模块下即可。

  1. 检查模块下src\main\resources\base目录是否存在layoutgraphic文件夹,如果有请删除;没有请跳过该操作。
  2. 打开模块下的build-profile.json5文件,删除“ohosTest” Target。
  3. 如果是ArkTS工程,请修改ArkTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。
  4. 单击File > Sync and Refresh Project进行同步,等待工程同步完成。至此,OpenHarmony历史工程便适配完成,您可以通过单击Build > Build Hap(s)/App(s) > Build Hap(s)验证是否可以正常编译构建HAP。

适配方法二

  1. 在本地电脑中,进入OpenHarmony工程所在文件夹。
  2. 在工程根目录下,修改相关配置文件。

    a. 删除Gradle相关的文件及缓存文件,如下图蓝色框所示的文件及文件夹。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

    b. 打开工程根目录下local.properties文件,并根据实际路径进行修改。

#OpenHarmony SDK路径
sdk.dir=D:/OpenHarmony/Sdk
#Node.js路径
nodejs.dir=D:/nodejs

    c. 新建一个文本文件,命名修改为“hvigorfile.ts”。

    d. 打开hvigorfile.ts文件,写入如下脚本信息。写入后,保存并关闭文件即可。

export { legacyAppTasks } from '@ohos/hvigor-ohos-plugin';

    e. 打开package.json文件,写入如下脚本信息,其中:name、version和org字段,请根据实际进行填写,其余字段保持不变。写入后,保存并关闭文件即可。

{
  "name": "myapplication",
  "version": "1.0.0",
  "ohos": {
    "org": "huawei",
    "buildTool": "hvigor",
    "directoryLevel": "project"
  },
  "description": "example description",
  "repository": {},
  "license": "ISC",
  "dependencies": {
    "@ohos/hypium": "1.0.5",
    "@ohos/hvigor": "1.4.0",
    "@ohos/hvigor-ohos-plugin": "1.4.0"
  }
}

   f. 新建一个文本文件,命名修改为“build-profile.json5”。

   g. 打开build-profile.json5文件,写入如下脚本信息,其中compileSdkVersion和compatibleSdkVersion请修改为8或9,其余字段请参考1.5.2-工程级build-profile.json5说明进行修改。写入后,保存并关闭文件即可。

{
  "app": {
    "signingConfigs": [],
    "compileSdkVersion": 8,
    "compatibleSdkVersion": 8,
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ]
}
  1. 进入模块目录下,修改相关配置文件。如有多个模块,请逐一修改。

   a. 删除build文件夹、build.gradle和progurad-rules.pro文件。

OpenHarmony DevEco Studio使用指南-工程管理-鸿蒙开发者社区

   b. 检查模块下src\main\resources\base目录是否存在layoutgraphic文件夹,如果有   请删除;没有请跳过该操作。

   c. 新建一个文本文件,命名修改为“package.json”。

   d. 打开package.json文件,写入如下脚本信息。

{
  "name": "entry",
  "version": "1.0.0",
  "ohos": {
    "org": "huawei",
    "buildTool": "hvigor",
    "directoryLevel": "module"
  },
  "description": "example description",
  "repository": {},
  "license": "ISC",
  "dependencies": {}
}

   e 新建一个文本文件,命名修改为“hvigorfile.ts”。

   f. 打开hvigorfile.ts文件,写入如下脚本信息。写入后,保存并关闭文件即可。

export { legacyHapTasks } from '@ohos/hvigor-ohos-plugin';

   g. 新建一个文本文件,命名修改为“build-profile.json5”。

   h. 打开build-profile.json5文件,写入如下脚本信息。写入后,保存并关闭文件即可。

{
  "apiType": 'faMode',
  "buildOption": {
  },
  "targets": [
    {
      "name": "default"
    }
  ]
}
  1. 如果是ArkTS工程,请修改ArkTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。

至此,HarmonyOS历史工程便适配完成,您可以通过单击Build > Build Hap(s)/App(s) > Build Hap(s)验证是否可以正常编译构建HAP。



文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-history-project-adapt-0000001218280662-V3​

已于2023-4-4 11:58:01修改
收藏
回复
举报
回复
    相关推荐