HarmonyOS6 应用升级经验分享

HarmonyOS6 应用升级经验分享

前言

最近鸿蒙应用市场支持上架HarmonyOS 6 正式版的应用了,我也把 《可可图片编辑》 升级到6,并且已经发布上架了。

这里就分享下升级到 HarmonyOS 6 的经验。

配置文件处理

优先你需要考虑到是,你的应用希望运行在哪些系统版本或者支持哪些API版本到设备上,比如API12、API13、API14、API20等等。

一般情况下的升级都是向下兼容,就是你需要保证低版本设备是可以正常使用你的应用功能,同时高版本的设备也能体验你的新特性。

这里就首先就需要考虑 compatibleSdkVersiontargetSdkVersion了。

  1. compatibleSdkVersion:应用/元服务运行所需兼容的最低SDK版本

  2. targetSdkVersion:应用/元服务运行所需目标SDK版本

通俗的讲你希望你的应用运行在最低版本是API14的手机上,同时最高版本是API20的手机上,那么你可以这样配置:

json 复制代码
"targetSdkVersion": "6.0.0(20)",

"compatibleSdkVersion": "5.0.2(14)",

具体路径在:项目/build-profile.json5

ArkTS中的处理

假设这样的需求,你希望当前功能在API20下使用,如果不支持到设备就弹出个提醒即可,那么你可以使用 caniuse 或者 try catch来处理

canIUse

查询系统是否具备某个系统能力。

示例:

typescript 复制代码
if (canIUse('你的api的能力集')) {

  //   支持

} else {

  //   不支持

}

系统能力(SystemCapability,简称SysCap),指操作系统中每一个相对独立的特性。不同的设备对应不同的系统能力集,每个系统能力对应一个或多个API。开发者可根据系统能力来判断是否可以使用某接口。

在IDE工具中也可以方便查看某个API的具体能力集:

try catch

一种常见的方式就是try-catch ,捕获错误,当出现程序出错了,为了避免程序崩溃,使用try将其捕获,catch用来错误处理。

typescript 复制代码
try {

  const res = px2vp(100)

} catch (e) {

  console.log("错误,不支持")

}

API版本判断

如果是这样的场景呢,API14版本下执行代码A,API20版本下,执行代码B。考虑这个场景,我们可以使用 @kit.BasicServicesKit 中的sdkApiVersion 来实现,sdkApiVersion返回 系统软件API版本,我们将它封装起来,这样就可以在ArkTS中和ArkUI中直接使用了。

  1. ArkTS

```typescript

if(deviceInfo.sdkApiVersion===20){

console.log("API20")

}

```

  1. ArkUI

```jsx

if (this.sdkApiVersion >= 20) {

Text('应用20')

} else {

Text('应用不是20')

}

```

相关推荐
lilian2333 小时前
HarmonyOS 7 新特性(二十五)|智慧手势:意图识别与误触治理
华为·harmonyos
贾伟康5 小时前
【时光清单|14】HarmonyOS ArkTS 主导航实战:统一页面入口、返回路径和参数校验
harmonyos·arkts·arkui·navigation·路由管理
贾伟康10 小时前
【时光清单|05】HarmonyOS ArkTS 倒计时卡片实战:适配 2x2、2x4 与 4x4 多尺寸
harmonyos·arkts·arkui·服务卡片·formextensionability
小雨青年11 小时前
【HarmonyOS 7 悬浮页签深度实战】07 折叠屏、平板与宽窗口的布局适配
华为·harmonyos
熊猫钓鱼>_>13 小时前
鸿蒙AI Agent新范式:从“对话式辅助”到“工程化代理”的Harness架构实战解析
人工智能·笔记·学习·华为·架构·harmonyos
大锅盖113 小时前
HarmonyOS ArkUI 非遗纹样素材平台设计复盘:朱砂宣纸与鎏金黛蓝的文化守护
华为·harmonyos
2501_9197490313 小时前
华为鸿蒙管理学习生活与工作APP—小羊管理
学习·华为·生活·harmonyos·鸿蒙
贾伟康13 小时前
【时光清单|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
harmonyos·arkts·agc·appgallery·发布复查
lilian23314 小时前
HarmonyOS 7 新特性(二十三)|hiprofiler + hidumper:跨堆内存分析
华为·harmonyos
嵌入之梦15 小时前
鸿蒙OS IoT设备开发之基础 —— 外设驱动
物联网·华为·harmonyos