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

}

```

相关推荐
Math_teacher_fan19 小时前
Flutter 跨平台开发实战:鸿蒙与音乐律动艺术(六)、Lissajous 利萨茹曲线:频率耦合的轨迹艺术
flutter·ui·数学建模·华为·harmonyos·鸿蒙系统
xmdy586620 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day3 溯源查询逻辑+鸿蒙网络请求适配
flutter·开源·harmonyos
maaath21 小时前
【maaath】Flutter 跨平台日历日程应用开发实战
flutter·华为·harmonyos
LeesonWong1 天前
架构困境与四层结构化设计
harmonyos
梦想不只是梦与想1 天前
鸿蒙 应用市场更新功能:版本检测与更新提醒
harmonyos·鸿蒙·版本更新
xmdy58661 天前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day2 首页+核心入口UI开发(鸿蒙多端适配)
flutter·开源·harmonyos
nashane1 天前
HarmonyOS 6学习:HAR包与HSP包的选择与优化指南
学习·华为·harmonyos·harmonyos 5
全栈若城1 天前
自定义 TabBar 实战:浮动标签栏与舵式标签栏
harmonyos·harmonyos6·三方库开发
maaath1 天前
【maaath】Flutter for OpenHarmony 学习答题应用实战开发
学习·flutter·华为·harmonyos
李游Leo1 天前
别再拼 JSON 了:HarmonyOS UDMF 跨应用数据流转实践
harmonyos