在鸿蒙应用开发中,部分具有一定规模的开发团队会提供集成态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实际占比权衡兼容性判断的工作量。

10

被折叠的 条评论
为什么被折叠?



