在鸿蒙应用开发中,部分具有一定规模的开发团队会提供集成态hsp给应用集成。应用hap和集成态hsp中配置的SDK版本属性字段的版本差异,也存在兼容性问题。

一、三个关键SDK版本属性

在集成态hsp开发中,同样需要关注以下属性:

SDK版本属性 说明
compileSdkVersion 编译集成态hsp的SDK版本
targetSdkVersion 集成态hsp运行的目标SDK版本
compatibleSdkVersion 集成态hsp运行的最低SDK版本

二、各版本属性的兼容性规则

2.1 compileSdkVersion(编译版本)

规则:应用hap包和集成态hsp配置的compileSdkVersion版本可以不同

处理方式:需要针对大于compatibleSdkVersion版本的接口进行API兼容性判断保护。

2.2 targetSdkVersion(目标版本)

规则:应用hap包和集成态hsp配置的targetSdkVersion版本可以不同

运行时行为:运行时根据各自包中配置的targetSdkVersion而确定具体的API行为。

2.3 compatibleSdkVersion(最低版本)

规则:建议应用hap包配置的compatibleSdkVersion版本集成态hsp配置的compatibleSdkVersion版本。

原因:否则将该应用分发到compatibleSdkVersion版本对应的现网设备时,集成态hsp将可能运行异常。

三、开发建议

集成态hsp开发

建议 说明
使用最新compileSdkVersion 使用最新的编译SDK版本
尽可能低的compatibleSdkVersion 通过API兼容性判断机制,将兼容运行的最低SDK版本配置为尽可能低
权衡取舍 越低版本需要越多兼容性判断保护,需根据现网设备API实际占比有选择地设置

应用集成

建议 说明
compatibleSdkVersion对齐 确保hap的compatibleSdkVersion ≥ hsp的compatibleSdkVersion
API兼容性判断 对大于compatibleSdkVersion版本的接口进行兼容性判断保护

   鸿蒙应用集成"集成态hsp"时,compileSdkVersion和targetSdkVersion允许应用hap和hsp配置不同,但compatibleSdkVersion建议hap版本≥hsp版本以避免低版本设备运行异常。hsp开发侧建议使用最新compileSdkVersion并尽可能降低compatibleSdkVersion,同时需根据现网设备API实际占比权衡兼容性判断的工作量。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐