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

电子说

1.4w人已加入

描述

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

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

第一步:

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

APIAPI

​编辑

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

APIAPI

​编辑

第二步:

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

APIAPI

​编辑

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

APIAPI

​编辑

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

APIAPI

​编辑

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

APIAPI

​编辑

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

APIAPI

​编辑

温馨提示:

在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)))
    })
API

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

 

审核编辑 黄宇
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分