在 DevEco Studio 中 , 使用 远程设备 , 向 P40
Failure[INSTALL_PARSE_FAILED_USESDK_ERROR]
compileSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the device.
报错信息翻译后内容为 : 应用的 compileSdkVersion 和 releaseType 与设备上的 apiVersion 和 releaseType 不匹配 ;
当前使用的 P40 远程设备 , 使用的是 API 8 版本的 SDK ;
在 根目录下的 build-profile.json5 中配置的 编译版本 ,
build-profile.json5 完整配置信息如下 :
{
"app": {
"signingConfigs": [],
"compileSdkVersion": 9,
"compatibleSdkVersion": 9,
"products": [
{
"name": "default",
"signingConfig": "default",
}
],
"buildModeSet": [
{
"name": "debug",
},
{
"name": "release"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]
}
如果 只将 “compatibleSdkVersion”: 设置改为 8 , 会报如下错误 :
Apps of API version 9 cannot run on devices of API version 8 or earlier. Set compatibleSdkVersion to 9 or a larger value in the project-level build-profile.json5 file.
API 版本 9 的应用程序无法在 API 版本 8 或更早的设备上运行 ,
在 项目级构建配置文件 build-profile.json5 file 中 将 compatibleSdkVersion 设置为 9 或更大的值 ;
这里需要同时将 compileSdkVersion 和 compatibleSdkVersion 版本号都改为 8 ;
"compileSdkVersion": 8,
"compatibleSdkVersion": 8,
此时 点击 Sync Now 进行同步 , 会报如下错误 ;
Cause:
1.The @ohos/hvigor version () is not within the expected range 3.x.x (3.x.x >= 3.0.9).
2.The @ohos/hvigor-ohos-plugin version () is not within the expected range 3.x.x (3.x.x >= 3.0.9).
Solution: Change the values of @ohos/hvigor to 3.0.9 and @ohos/hvigor-ohos-plugin to 3.0.9, while updating the command line script hvigor-wrapper.js that matches hvigor, which will auto-install the respective versions of the tools. Then sync the project again.
翻译后 :
原因:
1.@ohos/hvigor version () 不在预期的 3.x.x (3.x.x >= 3.0.9) 范围内 ;
2.@ohos/hvigor-ohos-plugin version () 不在预期的 3.x.x (3.x.x >= 3.0.9) 范围内 ;
解决方法:将 @ohos/hvigor 的值改为 3.0.9 并且 将 @ohos/hvigor-ohos-plugin 的值改为3.0.9 , 同时更新与 hvigor 匹配的命令行脚本hvigor-wrapper.js , 该脚本将自动安装相应版本的工具 , 然后再次同步项目 ;
由于该项目创建时 , 直接创建的 API 9 的项目 , 所有的配置都基于 API 9 进行 配置的 , 这里重新创建一个 API 8 的项目 ;
选择项目的 SDK 版本号为 API 8 , 然后点击 Finish 完成创建 ;