鸿蒙NEXT-鸿蒙老版本迁移最新版本(API19,modelVersion5.1.1)

简介: 鸿蒙更新至API19,新增热更新支持、资源过滤、内存分析等功能。本文详解手动迁移步骤及上下文获取问题解决方案。


2025/6/21,最近鸿蒙出最新的API和modelVsersion了,模拟器支持热更新了(不支持hsp动态共享包),Build Analyzer支持查看构建过程的内存消耗情况,buildOption/resOptions下新增ignoreResourcePattern,用于对资源目录resources或开发者自定义的资源目录下的文件/文件夹名称进行过滤,匹配到的文件不会被打包到产物中,ArkTS代码调试支持查看异步函数堆栈,那么作者作为开源区up,也特别想要试试去实现版本的更新迁移。

那么如何迁移更新呢?接下来就是手动迁移更新的教程,修改完成,点击同步即可完成,使用最新的API19。(以三层架构路径为例,大家可以对照着看,位置差不多)

第一步:

找到根目录下的该文件,位置为: 根目录>hvigor>hvigor-config.json5

点击进去,modelVersion修改为如下5.1.1

第二步:

找到根目录的该文件,位置为: 根目录>build-profile.json5

点击进去,找到app,products里的targetSdkVersion,compatibleSdkVersion,修改为如下

第三步:找到根目录的该文件,位置为: 根目录>on-package.json5

点击进去,modelVersion修改为如下5.1.1

第四步:点击右上角的Sync Now,运行代码,即可使用API19

温馨提示:

在API18时,废弃了很多的API,请注意API更新,但是在ability中,使用 windowStage.getMainWindowSync().getUIContext()官方示例代码(2025/6/21),去获取上下文,将会报错,如何解决这个问题呢,请使用 ,如下代码

windowStage.getMainWindow().then((win) => {
const uiContext = win.getUIContext()
// 储存安全区域数据
AppStorage.setOrCreate('safeTop', uiContext.px2vp(top.height))
AppStorageV2.connect(Number, 'safeTop', () => new Number(uiContext.px2vp(top.height)))

  AppStorage.setOrCreate<number>('safeBottom', uiContext.px2vp(bottom.height))
  AppStorageV2.connect(Number, 'safeBottom', () => new Number(uiContext.px2vp(bottom.height)))
})
AI 代码解读

避免程序运行不了,对了AppStorageV2.connect(UIContext,'uiContext',()=>new UIContext())?.getHostContext(),去获取上下文在ability只能得到为空,只能使用我提供的解决方案,具体的详解,请参考文档另一篇文章鸿蒙NEXT-API19获取上下文,在class中和ability中获取上下文,API迁移示例-解决无法在EntryAbility中无法使用最新版API获取上下文。

目录
打赏
0
0
0
0
1
分享
相关文章
鸿蒙NEXT时代你所不知道的全平台跨端框架:CMP、Kuikly、Lynx、uni-app x等
本篇基于当前各大活跃的跨端框架的现状,对比当前它们的情况和未来的可能,帮助你在选择框架时更好理解它们的特点和差异。
72 0
鸿蒙Next仓颉语言开发实战教程:店铺详情页
本文介绍了使用仓颉语言开发HarmonyOS应用中的店铺详情页实现方法,重点讲解了List容器的使用技巧,包括如何布局、设置圆角及处理列表项分组等内容,并附有完整代码示例。
纯血鸿蒙NEXT即时通讯/IM系统:RinbowTalk正式发布,全源码、纯ArkTS编写
RainbowTalk是一套基于MobileIMSDK的产品级鸿蒙NEXT端IM系统,目前已正式发布。纯ArkTS、从零编写,无套壳、没走捷径,每一行代码都够“纯”(详见:《RainbowTalk详细介绍》)。 MobileIMSDK是一整套开源IM即时通讯框架,历经10年,超轻量级、高度提炼,一套API优雅支持 UDP 、TCP 、WebSocket 三种协议,支持 iOS、Android、H5、标准Java、小程序、Uniapp、鸿蒙NEXT,服务端基于Netty编写。
81 1
鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(2/3)
本文介绍在三层架构中实现模块依赖的步骤。首先在产品定制层(features)的oh-package.json5文件中导入共享包依赖,如"basic":"file:../../commons/basic"。然后在产品层(products)的配置文件中同时导入公共能力层和产品定制层的依赖,示例展示了如何添加"basic"和"my"两个依赖项。通过这些配置,三层架构的各模块之间建立了完整的依赖关系。
103 0
鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(2/3)
鸿蒙Next仓颉开发语言中的数据类型总结分享
仓颉语言数据类型包括多种数字类型(Int、Float)、字符串(String)、数组(Array、ArrayList、ObservedArrayList)及HashMap。数字类型区分长度和精度,数组支持固定与动态操作,HashMap用于存储键值对。适合开发者快速掌握仓颉基础数据结构。#仓颉 #HarmonyOS
详解鸿蒙Next仓颉开发语言中的全屏模式
仓颉开发语言实现全屏模式教程:默认非全屏,需手动设置沉浸模式以占满屏幕。通过`setWindowLayoutFullScreen`开启全屏,并利用`getWindowAvoidArea`获取摄像头与导航条区域高度,结合AppStorage保存尺寸,适配界面布局,避免内容被遮挡。附屏幕尺寸获取方法及单位说明。
鸿蒙Next仓颉语言开发实战教程:聊天列表
本文分享了 HarmonyOS 仓颉语言实现聊天页面布局的全过程,包括顶部导航栏、动态消息列表及底部输入框的设计与代码实现,详细讲解了上中下结构布局、消息方向区分、阴影设置等内容。
鸿蒙Next仓颉语言开发实战教程:消息列表
本教程分享了使用仓颉语言开发商城应用中的消息列表页面,包含导航栏布局、消息筛选列表及消息内容列表的实现。通过Row、Scroll、List和ForEach等组件,完成页面结构搭建与数据循环渲染,适合初学者实战练习。
鸿蒙Next仓颉语言开发实战教程:设置页面
本教程介绍了仓颉语言商城应用设置页面的开发,重点讲解了List容器的使用。页面分为三组列表内容,第一组直接使用ListItem实现,后两组通过ListItemGroup及自定义组件setrow完成布局。教程还演示了如何通过自定义组件提升代码复用性,并介绍了分割线divider的设置方法,帮助开发者高效构建美观的设置界面。
鸿蒙Next仓颉语言开发实战教程:订单列表
本文介绍了使用仓颉语言开发HarmonyOS商城应用的订单列表页实现方法,包含导航栏、订单类型切换和订单列表展示三部分。通过代码示例讲解了布局技巧与组件使用,适合初学者学习参考。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问