HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案

鸿蒙开发者社区官方账号
发布于 2021-4-30 11:48
浏览
0收藏

历史工程自动适配
由于最新版本的HarmonyOS SDK对应的API Version发生了跃迁,原有的API Version 3变成了当前的API Version 4,原有的API Version 4变成了当前的API Version 5。因此,使用最新版本的DevEco Studio打开历史工程,需要对历史工程进行适配;如果历史工程未做适配,会导致工程出现运行错误INSTALL_PARSE_FAILED_USESDK_ERROR。

在打开历史工程前,建议您先点击Help > Check for Updates,检查并升级DevEco Studio至最新版本;点击Tools >SDK Manager,检查并升级SDK及工具链版本至最新版本。

使用DevEco Studio打开历史工程,会提示您将历史工程进行升级适配,点击Update,工具会自动修改工程中的配置信息,包括:

  • 升级编译构建插件版本为2.4.2.7
  • 在build.gradle中添加OHOS测试框架的依赖
  • 升级config.json和build.gradle中的API Version
  • 升级config.json中的releaseType字段的值:如果是DevEco Studio V2.1 Beta 2及之前的版本的工程,该字段适配为“Release”。工程升级前后的config.json关键字段对比如下表所示。
compatible/target/releaseType(适配前) compatible/target/releaseType(适配后)
3/3/- 4/5/Release
3/4/Beta1 4/5/Release
3/4/Beta2 4/5/Release
4/4/Beta1 5/5/Release
4/4/Beta2 5/5/Release


如果是DevEco Studio V2.1 Beta 3版本的工程,该字段保持“Beta1”不变。


INSTALL_PARSE_FAILED_USESDK_ERROR处理指导
问题现象:

如果工程中的releaseType字段与设备(模拟器和真机)中的SDK镜像版本的值不匹配,则运行时会报INSTALL_PARSE_FAILED_USESDK_ERROR错误,如下图所示。

HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案-鸿蒙开发者社区解决措施:

在设备(模拟器或真机)中运行应用时,设备的Rom版本、releaseType和工程对应的SDK版本需要遵循如下的匹配关系。

运行设备 Rom版本 releaseType字段取值 工程对应的SDK版本
模拟器 Release "releaseType": "Release" 2.1.1.20(Stage:Release)
真机设备 Beta "releaseType": "Beta1" 2.1.1.18(Stage:Beta)
真机设备 Release "releaseType": "Release" 2.1.1.20(Stage:Release)

 
说明
真机设备的releaseType取值,可以通过如下命令进行查询。

hdc shell
getprop hw_sc.build.os.releasetype

HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案-鸿蒙开发者社区 例如:在模拟器中运行时,config.json中的releaseType字段必须修改为Release,SDK Manager中的SDK版本为2.1.1.20,Stage为Release。

分类
1
收藏
回复
举报
回复
    相关推荐