当前位置: 首页 > 科技观察

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

时间:2023-03-16 19:10:20 科技观察

HarmonyOSSDK适配对应的API版本转换导致的历史工程适配问题的解决方案由于HarmonyOSSDK最新版本对应的APIVersion转换,原APIVersion3变成了当前APIVersion4,原APIAPIVersion4变成了当前的APIVersion5。因此,如果使用最新版本的DevEcoStudio打开历史项目,需要对历史项目进行适配;如果历史项目没有适配,会导致项目运行报错INSTALL_PARSE_FAILED_USESDK_ERROR。在打开历史项目之前,建议您点击Help>CheckforUpdates检查并升级DevEcoStudio到最新版本;点击Tools>SDKManager检查SDK和toolchain版本,升级到最新版本。使用DevEcoStudio打开历史项目,会提示升级适配历史项目,点击更新,工具会自动修改项目中的配置信息,包括:升级编译构建插件版本为2.4.2.7、在build.gradle中添加OHOS测试Frameworkdependencies升级config.json和build.gradle中的APIVersion升级config.json中releaseType字段的值:如果是DevEcoStudioV2.1Beta2的项目或者早些时候,该字段被适配为“Release”。项目升级前后config.json中关键字段对比如下表所示。如果是DevEcoStudioV2.1Beta3的项目,该字段保持“Beta1”。INSTALL_PARSE_FAILED_USESDK_ERROR处理指导问题现象:如果工程中的releaseType字段与设备(模拟器和真机)中SDK镜像版本的值不匹配,运行时会报INSTALL_PARSE_FAILED_USESDK_ERROR错误,如下图。解决方案:在设备(模拟器或真机)上运行应用时,设备的Rom版本、releaseType和项目对应的SDK版本需要遵循如下匹配关系。表示真实设备的releaseType值,可以通过以下命令查询。hdcshellgetprophw_sc.build.os.releasetype例如:在模拟器中运行时,config.json中的releaseType字段必须改为Release,SDKManager中的SDK版本为2.1.1.20,Stage为Release。更多信息请访问:Harmonyos.51cto.com,与华为官方合作打造的鸿蒙技术社区