OpenHarmony—Gradle工程适配为Hvigor工程

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

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

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

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

适配方法一

  • 使用DevEco Studio创建一个OpenHarmony新工程,在配置工程信息时,请注意:

  • Bundle name:请与需要适配的历史工程的Bundle name保持一致。待适配工程的Bundle
    name字段可在模块目录下的config.json文件中进行查阅。

  • Compile SDK:请选择将要适配的目标API版本,支持选择9。

  • Model:请选择FA。

  • Language:选择与待适配工程使用的代码语言保持一致。
    OpenHarmony—Gradle工程适配为Hvigor工程_第1张图片
    2.等待工程ohpm install执行完成后,删除entry下的src目录,请注意,其它配置文件不要删除。
    OpenHarmony—Gradle工程适配为Hvigor工程_第2张图片
    3.将待适配工程entry模块下的src目录,拷贝到上述工程的entry文件夹下。

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

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

5.打开模块下的build-profile.json5文件,删除“ohosTest” Target。

6.如果是ArkTS工程,请修改ArkTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。

7.单击File > Sync and Refresh Project进行同步,等待工程同步完成。

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

适配方法二

1.在本地电脑中,进入OpenHarmony工程所在文件夹。

2.在工程根目录下,修改相关配置文件。

a.删除Gradle相关的文件及缓存文件,如下图蓝色框所示的文件及文件夹。OpenHarmony—Gradle工程适配为Hvigor工程_第3张图片
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.新建oh-package.json5文件,写入如下脚本信息,其中:name和version字段,请根据实际进行填写,其余字段保持不变。写入后,保存并关闭文件即可。

{
"name": "myapplication",
  "version": "1.0.0",
  "description": "Please describe the basic information.",
  "main": "",
  "author": "",
  "license": "",
  "dependencies": {},
  "devDependencies": {
    "@ohos/hypium": "1.0.6"
  }
}

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

g.打开build-profile.json5文件,写入如下脚本信息,其中compileSdkVersion和compatibleSdkVersion请修改为9。

{
  "app": {
    "signingConfigs": [],
    "compileSdkVersion": 9,
    "compatibleSdkVersion": 9,
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ]
}

h.工程需要添加ohpm编译构建四件套hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js。可新建一个API 9的新工程,拷贝新工程中hvigorw、hvigorw.bat、hvigor-config.json5、hvigor-wrapper.js四项配置文件,粘贴到历史工程文件夹对应位置。
OpenHarmony—Gradle工程适配为Hvigor工程_第4张图片
3.进入模块目录下,修改相关配置文件。如有多个模块,请逐一修改。

a.删除build文件夹、build.gradle和progurad-rules.pro文件。OpenHarmony—Gradle工程适配为Hvigor工程_第5张图片
b.检查模块下src\main\resources\base目录是否存在layout和graphic文件夹,如果有请删除;没有请跳过该操作。

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

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

{
  "name": "entry",
  "version": "1.0.0",
  "description": "Please describe the basic information.",
  "main": "",
  "author": "",
  "license": "",
  "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"
    }
  ]
}

4.如果是ArkTS工程,请修改ArkTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。

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

那么要想成为一名鸿蒙高级开发,以上知识点是必须要掌握的,除此之外,还需要掌握一些鸿蒙应用开发相关的一些技术,需要我们共同去探索。

为了节省大家一些查找的时间,这边联合几位行业大佬,为大家准备了一份《OpenHarmony4.0&Next》的学习导图,从入门到进阶再到南北向开发实战的一整套完整体系,想要学习了解更多鸿蒙开发的相关知识可以借鉴:《一小时快速认识HarmonyOS》OpenHarmony—Gradle工程适配为Hvigor工程_第6张图片

除了上面整理的思维导图以外,这里还特别整理的一份《鸿蒙 (Harmony OS)开发学习手册》给大家进行参考学习:

一、入门必看

1.应用开发导读(ArkTS)

2.……OpenHarmony—Gradle工程适配为Hvigor工程_第7张图片

二、HarmonyOS 概念

1.系统定义

2.技术架构

3.技术特性

4.系统安全

5…OpenHarmony—Gradle工程适配为Hvigor工程_第8张图片

三、如何快速入门?《鸿蒙HarmonyOS分布式项目实战》

1.基本概念

2.构建第一个ArkTS应用

3.构建第一个JS应用

4.……OpenHarmony—Gradle工程适配为Hvigor工程_第9张图片

四、开发基础知识

1.应用基础知识

2.配置文件

3.应用数据管理

4.应用安全管理

5.应用隐私保护

6.三方应用调用管控机制

7.资源分类与访问

8.学习ArkTS语言

9.……OpenHarmony—Gradle工程适配为Hvigor工程_第10张图片

五、基于ArkTS 开发

1.Ability开发

2.UI开发

3.公共事件与通知

4.窗口管理

5.媒体

6.安全

7.网络与链接

8.电话服务

9.数据管理

10.后台任务(Background Task)管理

11.设备管理

12.设备使用信息统计

13.DFX

14.国际化开发

15.折叠屏系列

16.……OpenHarmony—Gradle工程适配为Hvigor工程_第11张图片

更多了解更多鸿蒙开发的相关知识可以参考:《鸿蒙4.0源码开发架构分析pdf》

你可能感兴趣的:(鸿蒙,鸿蒙工程师,harmonyos,华为,鸿蒙,鸿蒙系统,开发语言,服务器,运维)