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')

}

```

相关推荐
ITUnicorn5 小时前
【HarmonyOS6】ArkTS 自定义组件封装实战:动画水杯组件
华为·harmonyos·arkts·鸿蒙·harmonyos6
全栈探索者5 小时前
@Component + struct = 你的新函数组件——React 开发者的鸿蒙入门指南(第 2 期)
react·harmonyos·arkts·前端开发·deveco studio·鸿蒙next·函数组件
廖松洋(Alina)6 小时前
【收尾以及复盘】flutter开发鸿蒙APP之成就徽章页面
flutter·华为·开源·harmonyos·鸿蒙
廖松洋(Alina)6 小时前
【收尾以及复盘】flutter开发鸿蒙APP之打卡日历页面
flutter·华为·开源·harmonyos·鸿蒙
廖松洋(Alina)6 小时前
【收尾以及复盘】flutter开发鸿蒙APP之本月数据统计页面
flutter·华为·开源·harmonyos·鸿蒙
果粒蹬i6 小时前
【HarmonyOS】DAY8:React Native for OpenHarmony 实战:多端响应式布局与高可用交互设计
react native·交互·harmonyos
讯方洋哥15 小时前
HarmonyOS App开发——职前通应用App开发(下)
华为·harmonyos
摘星编程17 小时前
React Native鸿蒙版:Image图片占位符
react native·react.js·harmonyos
大雷神17 小时前
HarmonyOS智慧农业管理应用开发教程--高高种地-- 第30篇:设置与帮助系统
harmonyos
Swift社区19 小时前
HarmonyOS 自定义组件与布局实践
华为·harmonyos