鸿蒙应用集成“集成态hsp“的兼容

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

相关推荐
贾伟康14 小时前
【口算王|08】HarmonyOS ArkTS 分类训练实战:让年级与运算分类参数保持一致
harmonyos·arkts·数据建模·路由参数·分类训练
光锥智能14 小时前
华为新麒麟芯片、鸿蒙7问世,手机底层竞赛升级
华为·智能手机·harmonyos
贾伟康15 小时前
【口算王|09】HarmonyOS ArkTS 学习统计实战:计算连续训练和正确率趋势
harmonyos·arkts·数据可视化·preferences·学习统计
lqj_本人15 小时前
Flutter 鸿蒙实战:用 wakelock_plus 三方库给阅读页加上屏幕常亮
flutter·华为·harmonyos
aqi001 天前
鸿蒙版本的JSBridge兼容与安卓配套的H5啦
android·华为·harmonyos·鸿蒙·移动应用
熊猫钓鱼>_>1 天前
Flutter app_settings 鸿蒙适配实战:Intent 体系到 Want 的跨越
flutter·华为·harmonyos·openharmony·intent·want
贾伟康1 天前
【句匠|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
harmonyos·arkts·应用上架·appgallery·发布审核
贾伟康1 天前
【句匠|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致
harmonyos·arkts·数据持久化·appstorage·preferences
贾伟康1 天前
【句匠|16】HarmonyOS ArkTS 多设备布局实战:适配手机、平板和 PC/2in1 的窗口变化
harmonyos·arkts·arkui·响应式布局·多设备适配
小雨青年1 天前
【HarmonyOS 7 平行视界深度实战】03 购物模式怎么实现连续浏览和左右推挤
华为·harmonyos