HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案
头像 Tiechui.Wang 2021-04-30 11:21:00    发布
3285 浏览 22 点赞 23 收藏

历史工程自动适配
由于最新版本的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/Beta14/5/Release
3/4/Beta24/5/Release
4/4/Beta15/5/Release
4/4/Beta25/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号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255