HarmonyOS鸿蒙Next基于鸿蒙6开发的应用可以在鸿蒙5.1上运行吗
HarmonyOS鸿蒙Next基于鸿蒙6开发的应用可以在鸿蒙5.1上运行吗 开发工具和API版本如何选择?
要保证API17的设备上不能执行API20的代码。开发工具的话可以用API19的5.1.1的,也可以6.0的吧,不过我没有,6.0新建项目把API版本选17就好。
更多关于HarmonyOS鸿蒙Next基于鸿蒙6开发的应用可以在鸿蒙5.1上运行吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
你可以用6.0的但打包成5.1啥的。获取deviceinfo.sdkversion(我忘了是devicetype还是info了),如果sdk<20就不执行API20的那部分代码就好(如果是UI5.1的话,要是SDK<18不执行API18以上的代码)。
可以设置最低兼容的api版本的吧,但6.0新增的能力5.1应该是用不了的
要让6.0版本应用可以在5.1的设备上运行,可以通过build-profile.json5配置APP运行的目标SDK版本和运行要求的最低SDK版本,通过deviceInfo.distributionOSApiVersion或deviceInfo.sdkApiVersion接口帮助开发者进行API兼容性判断保护,通过canIUse接口帮助开发者来判断该设备是否支持某个特定的syscap。
-
配置build-profile.json5设置应用运行的最低SDK版本: 假如应用使用并适配了API版本6.0.0(20),同时希望应用能够运行5.0.5(17),那么可以在应用工程的build-profile.json5文件中设置“targetSdkVersion": “6.0.0(20)”,“compatibleSdkVersion”: "5.0.5(17)”。
-
应用使用API兼容性保护判断: 假如某个新特性的API是在SDK版本6.0.0(20)提供,为了让应用兼容在基于API版本5.0.5(17)的老设备正常运行,开发者可以进行兼容性判断。
-
判断API是否可以使用: HarmonyOS定义了API接口canIUse帮助开发者来判断该设备是否支持某个特定的syscap。
- 查询hdsEffect接口的API文档,查出其系统能力为“SystemCapability.UIDesign.HDSComponent.Core”;
- 通过判断“canIUse(‘SystemCapability.UIDesign.HDSComponent.Core’)”检查该设备是否可以使用hdsEffect接口。
如果项目中compatibleSdkVersion为API 20,那么设备系统版本低于API 20的将无法安装此应用,这个相当于最低SDK版本声明。若compatibleSdkVersion设置为API 17或者其他低于API 20的版本,并且在代码中进行判断应用安装的设备是否支持API 20控制API 20的接口功能使用,那没有任何问题。
开发6.0需要使用配套的设备和开发工具,可以参加下HarmonyOS 6 开发者预览版Beta招募活动:https://developer.huawei.com/consumer/cn/activity/developerbeta/harmonyos-developer-beta-6-3/
不可以。HarmonyOS Next应用基于API 11(对应HarmonyOS 6)开发,无法在API 10(对应HarmonyOS 5.1)设备上运行。
开发时需注意:
- 目标设备为HarmonyOS 6及以上时,应使用API 11进行开发
- 如需兼容HarmonyOS 5.1设备,需使用API 10开发
- DevEco Studio中可设置最低兼容的API版本
- API 11新增的能力在低版本系统上无法使用
建议根据目标用户群体的设备版本分布情况选择合适的API版本进行开发。

