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

​ 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<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获取上下文。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务