HarmonyOS 鸿蒙Next API从9升级到12,报strictPropertyInitialization检查错误

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next API从9升级到12,报strictPropertyInitialization检查错误

api从9升级到12,报strictPropertyInitialization 检查错误,

具体报错内容:

 Property ‘by_router’ has no initializer and is not definitely assigned in the constructor.

1、请问strictPropertyInitialization 检查能够直接关闭么,如果报错代码都逐行做兼容成本比较高?

2、strictPropertyInitialization 属于ts编译选项,工程配置文件没有配置类似ts编译选项的地方么?


更多关于HarmonyOS 鸿蒙Next API从9升级到12,报strictPropertyInitialization检查错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next API从9升级到12,报strictPropertyInitialization检查错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,从API版本9升级到12时遇到strictPropertyInitialization检查错误,这通常是因为编译器对属性初始化的严格检查在新版本中得到了增强。这种错误往往是因为类的某些属性在声明时没有被明确初始化,但在后续的使用中被访问或修改,而新版本编译器要求所有属性在声明时或在构造函数中必须被明确初始化。

为了解决这个问题,你可以采取以下步骤:

  1. 检查类定义:查看报错相关的类,特别是新增或修改的属性。确保所有属性在声明时或在构造函数中已被初始化。

  2. 修改构造函数:如果属性在构造函数中被赋值,确保构造函数在所有情况下都被正确调用,包括子类构造函数中对父类构造函数的调用。

  3. 使用延迟初始化:如果某些属性确实需要在特定条件下才初始化,可以考虑使用lateinit(如果适用)或在访问时进行条件检查及初始化。

  4. 检查编译器设置:确认项目的编译器设置,特别是与Kotlin语言相关的设置,看是否有关于初始化检查的特殊配置。

  5. 清理和重建项目:有时候IDE的缓存或构建系统的问题可能导致编译错误。尝试清理并重新构建项目。

如果问题依旧没法解决,请联系官网客服。官网地址是:https://www.itying.com/category-93-b0.html ,他们能提供更专业的支持和帮助。

回到顶部