更新时间:2022-07-08 15:33:02浏览次数:468+次
想知道鸿蒙HarmonyOS API 4-7工程怎么才能升级为API 8工程吗?以下给出两种实现的方法。
前言
鸿蒙开发工具DevEco Studio 3.0.0.990版本支持HarmonyOS API 8应用开发,其采用了Hvigor自动化构建工具进行构建,而HarmonyOS API 4-7的工程,则是采用Gradle自动化构建工具,因此两者的编译构建工具、编译构建文件、工程结构均存在差异。
针对以上的场景,本文提供了两种适配方法,将您的HarmonyOS 4-7的eTS/JS工程升级至API 8。
方法一(推荐采用此方法)
1、使用DevEco Studio创建一个HarmonyOS新工程。在配置工程信息时,请注意:
Bundle name:请与需要适配的历史工程的Bundle name保持一致。待适配工程的Bundle name字段可在模块目录下的config.json文件中进行查阅。
Compile SDK:请选择将要适配的目标API版本,只支持选择8。
Language:选择与待适配工程使用的代码语言保持一致。
2、等待工程npm install执行完成后,删除entry下的src目录,请注意,其它配置文件请不要删除。
3、将待适配工程entry模块下的src目录,拷贝到上述工程的entry文件夹下。
说明:如果待适配工程存在多个模块,可拷贝上述整个entry模块文件夹并修改模块名,然后将待适配模块中的源码和资源文件夹,替换到该模块下即可。
4、如果是eTS工程,请修改eTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。
至此,HarmonyOS历史工程便适配完成,您可以通过点击Build > Build Hap(s)/App(s) > Build Hap(s)验证是否可以正常编译构建HAP包。
方法二
1、在本地电脑中,进入HarmonyOS工程所在文件夹。
2、在工程根目录下,修改相关配置文件。
1]、删除Gradle相关的文件及缓存文件,如下图蓝色框所示的文件及文件夹。
2]、打开工程根目录下local.properties文件,并根据实际路径进行修改。
3]、新建一个文本文件,命名修改为“hvigorfile.js”。
4]、打开hvigorfile.js文件,写入如下脚本信息。写入后,保存并关闭文件即可。
module.exports = require('@ohos/hvigor-ohos-plugin').legacyAppTasks
5]、打开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": {
"hypium": "^1.0.1",
"@ohos/hvigor": "1.1.5",
"@ohos/hvigor-ohos-plugin": "1.1.5"
}
}
6]、新建一个文本文件,命名修改为“build-profile.json5”。
7]、打开build-profile.json5文件,写入如下脚本信息,其中compileSdkVersion和compatibleSdkVersion请修改为8或9,其余字段请参考工程级build-profile.json5说明进行修改。写入后,保存并关闭文件即可:
{
"app": {
"signingConfigs": [],
"compileSdkVersion": 8,
"compatibleSdkVersion": 8,
"products": [
{
"name": "default",
"signingConfig": "default",
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]}
3、进入模块目录下,修改相关配置文件。如有多个模块,请逐一修改。
1]、删除build文件夹、build.gradle和progurad-rules.pro文件。
?2]、新建一个文本文件,命名修改为“package.json”。
3]、打开package.json文件,写入如下脚本信息:
{
"name": "entry",
"version": "1.0.0",
"ohos": {
"org": "huawei",
"buildTool": "hvigor",
"directoryLevel": "module"
},
"description": "example description",
"repository": {},
"license": "ISC",
"dependencies": {}
}
4]、新建一个文本文件,命名修改为“hvigorfile.js”。
5]、打开hvigorfile.js文件,写入如下脚本信息。写入后,保存并关闭文件即可:
module.exports = require('@ohos/hvigor-ohos-plugin'). legacyHapTasks
6]、新建一个文本文件,命名修改为“build-profile.json5”。
7]、打开build-profile.json5文件,写入如下脚本信息。写入后,保存并关闭文件即可:
{
"apiType": 'faMode',
"buildOption": {
},
"targets": [
{
"name": "default"
"runtimeOS": "HarmonyOS"
},
{
"name": "ohosTest",
}
]
}
4、如果是eTS工程,请修改eTS源码文件中的引用包的后缀名,由import xx from‘xx.ets’修改为import xx from‘xx’,去掉.ets后缀名。
5、使用新版本的DevEco Studio打开修改后的工程,点击底部工具栏的Terminal,然后执行npm install命令,安装相关依赖。
至此,HarmonyOS历史工程便适配完成,您可以通过点击Build > Build Hap(s)/App(s) > Build Hap(s)验证是否可以正常编译构建HAP包。??
相关资讯