HarmonyOS 鸿蒙Next中ArrayList引用包错误

HarmonyOS 鸿蒙Next中ArrayList引用包错误 代码里面引用的是@kit.ArkTS里面的 ArrayList,但是打包后的har里面是@ohos.util.ArrayList

5 回复

【解决方案】

@kit是对@ohos的场景化封装,使得API结构更加清晰,可以在DevEco Studio中进入@kit.ArkTS文件看到ArrayList其实还是@ohos.util.ArrayList,@kit打包后的产物就是会转换成@ohos原始的接口文件。

更多关于HarmonyOS 鸿蒙Next中ArrayList引用包错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


背景知识:

我这边使用 ArrayList 带入的包是 import { ArrayList } from ‘@kit.ArkTS’; 但是点击进入到ArkTS里面发现,原来是引用到了@ohos.util.ArrayList 如下图:

cke_15071.png

综上说明,@kit.ArkTS 只是一个引入将一整块功能包装起来的一个引用库。

看一下文件里使用的import 是不是写多了,或者写错了~~

在HarmonyOS Next中,ArrayList引用包错误通常是由于未正确导入ArkTS集合类库导致。鸿蒙Next使用ArkTS语言,其集合类位于@kit.ArkTS包中。正确的导入方式应为import ArrayList from '@kit.ArkTS';。请检查代码中的import语句,确保使用ArkTS提供的原生集合类型,而非Java或Android SDK中的ArrayList。

在HarmonyOS Next中,@kit.ArkTS 是ArkTS API的正式命名空间,而 @ohos.util 是旧的API命名空间。出现这个问题的原因是IDE或编译工具链在打包HAR时,可能使用了不兼容的版本或配置,导致API引用被错误地映射或替换。

解决方案:

  1. 检查SDK版本:确保你使用的DevEco Studio和HarmonyOS SDK是最新版本,旧版本工具链可能存在命名空间映射错误。
  2. 清理并重建项目:执行 Build -> Clean ProjectRebuild Project,清除可能存在的缓存。
  3. 验证HAR依赖:如果问题出现在引用的第三方HAR中,需要该HAR的提供者更新其代码,使用 @kit.ArkTS 命名空间并重新发布。
  4. 直接引用目标API:在代码中尝试显式引用 @ohos.util.ArrayList,但这不是推荐做法,因为 @kit.ArkTS 是未来的标准。

如果上述步骤无法解决,请检查项目配置和编译日志,确认是否有插件或脚本进行了非预期的包名替换。

回到顶部