首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >鸿蒙NEXT-鸿蒙老版本迁移最新版本(API19,modelVersion5.1.1)

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

原创
作者头像
用户11718959
发布2025-06-28 20:43:44
发布2025-06-28 20:43:44
3700
举报
文章被收录于专栏:鸿蒙开发鸿蒙开发

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),去获取上下文,将会报错,如何解决这个问题呢,请使用 ,如下代码

代码语言:javascript
复制
windowStage.getMainWindow().then((win) => {
      const uiContext = win.getUIContext()
      // 储存安全区域数据
      AppStorage.setOrCreate<number>('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)))
    })

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档