1***@163.com
1***@163.com
  • 发布:2026-07-28 14:02
  • 更新:2026-07-28 14:04
  • 阅读:121

【报Bug】 HBuilderX 5.15鸿蒙版本运行时启动即崩:arkts.abc is not existed / NativeCustomSpan is not defined

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 15.7.4

HBuilderX类型: 正式

HBuilderX版本号: 5.15

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 5.1.0

手机厂商: 华为

手机机型: HUAWEI MatePad Mini(MLR-AL10)、HUAWEI MatePad Mini 悦读版(MLR-AL00)

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

通过hb安装的app,在鸿蒙5.1.0、6.0.0安装闪退闪动

预期结果:

正常打开app

实际结果:

闪退

bug描述:

问题描述

使用 HBuilderX 5.15.2026070915 通过标准基座运行 uni-app(Vue3)鸿蒙项目,App 安装到真机后启动即白屏闪退,无法进入任何页面。

已在以下两款设备上复现:

设备 系统版本 结果
HUAWEI MatePad Mini(MLR-AL10) HarmonyOS 6.1.0.125(SP20C00E125R4P4) 启动崩溃
HUAWEI MatePad Mini 悦读版(MLR-AL00) HarmonyOS 5.1.0.235(SP3C00E235R3P2) 启动崩溃
App 进程存活时间仅 1~2 秒,白屏后立即退出,无法进入登录页面。

崩溃日志

通过 hdc bugreport 取到设备 faultlog,两台设备均有以下相同错误链(HiLog 截取):

E NAPI: [(native_module_manager.cpp:932)(GetFileBuffer)]/system/etc/abc/arkts.abc is not existed.
E NAPI: [(native_module_manager.cpp:1040)(FindNativeModuleByDisk)]
First attempt: load app module failed.
do_dlsym failed: Symbol not found: NAPI_data_uniformTypeDescriptor_GetABCCode,
version: null so=/system/lib64/module/data/libuniformtypedescriptor_napi.z.so
Second attempt: load app module failed.
Error loading path /system/lib64/module/libarkts_napi.z.so: No such file or directory
try to load abc file from /system/etc/abc/arkts.abc failed
E ArkCompiler: [LoadNativeModule:468]
export objects of native so is undefined, so name is entry
E ArkCompiler: ReferenceError: NativeCustomSpan is not definedat func_main_0(/usr1/hmos_for_system/src/increment/sourcecode/foundation/arkui/
ace_engine/frameworks/bridge/declarative_frontend/engine/jsEnumStyle.js:3390:1)
触发崩溃的 libjsruntime.so 版本 hash:

32dba69e82ec680713a68ff169e42475046f1d97
该 so 来自 App 内打包的 UniAppRuntime.har,在两台不同系统版本设备上hash 完全相同,均触发上述崩溃。

jscrash 文件中的最终崩溃信息:

Reason: TypeError
Error message: Cannot read property appId of nullat createStore (@dcloudio/uni-app-modules | uni-storage/utssdk/app-harmony/index.ts:100)
at getAppCrashInfo (@dcloudio/uni-app-modules | uni-crash/utssdk/app-harmony/index.ts:34)
注:此 TypeError 是 uni-crash 在收集上一个崩溃信息时自身二次崩溃,不是第一现场;第一现场是上面的 NativeCustomSpan 错误。

崩溃原因分析

libjsruntime.so 在启动时尝试加载 @ohos:ArkTS 模块,该模块依赖以下系统文件:

/system/etc/abc/arkts.abc
/system/lib64/module/libarkts_napi.z.so
以上两个文件在上述两台设备的系统中均不存在,导致 entry 模块加载失败,ArkUI 框架初始化时抛出 ReferenceError: NativeCustomSpan is not defined,进程被系统杀死。

环境信息

HBuilderX 版本:5.15.2026070915
@dcloudio/uni-app-harmony 版本:3.0.0-alpha-5010220260604001
manifest targetSdkVersion / compatibleSdkVersion:5.0.1(13) beta6
DevEco Studio:6.0.2,本机 HarmonyOS SDK:API 22/ 6.0.2.130
Vue 版本:Vue 3
问题为稳定复现,非偶发,所有安装设备启动均失败

咨询内容

这是 HBuilderX 5.15 鸿蒙运行时的 bug 吗?libjsruntime.so 是否不应该在这两个系统版本上依赖 libarkts_napi.z.so / arkts.abc?
是否有已修复的 HBuilderX 版本或补丁可以解决此问题?
这批 MatePad Mini 设备需要将系统固件升级到哪个版本才能正常运行?
临时绕过方案:manifest 的 targetSdkVersion 调低是否有帮助?

2026-07-28 14:02 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。

好的,收到你的 bug 反馈。作为 DCloud 官方人员,我对你提交的这份反馈进行如下评审和分析:

1. 反馈质量评审

这是一份非常高质量的 Bug 反馈,信息详实且逻辑清晰,极大地降低了沟通成本。

  • BUG 标题与描述:标题准确概括了崩溃现象及核心报错信息。描述部分详细列出了复现设备、系统版本、崩溃日志链路以及初步的根因分析,我们官方人员完全能够看懂并据此进行排查。
  • 代码示例:缺失。虽然通过标准基座运行可以复现,但提供一个最简可复现的工程(例如默认的空白 Vue3 模板)或 manifest.json 中的关键配置片段,能帮助我们更快速地验证是否为特定配置或环境引起的问题。
  • 复现步骤:描述清晰。结合通用知识,官方人员可以根据“通过标准基座运行到鸿蒙真机”这一步骤进行复现验证。
  • 预期结果:“正常打开 app”是完全合理的预期。
  • 实际结果:“安装到真机后启动即白屏闪退”,结合日志来看,这属于明确的运行异常。
  • 分类信息:非常完整。包含了 PC 环境、HBuilderX 版本、鸿蒙系统版本、Vue 版本及设备机型等关键信息。

评审结论:反馈非常有效。若能补充一个最简复现工程,将进一步提升处理效率。

2. 问题分析与排查

根据你提供的崩溃日志和知识库信息,该问题的原因指向了运行环境与系统底层的兼容性缺失

  • 环境差异分析:在知识库中,有开发者反馈过类似因系统版本差异导致的启动崩溃(如 【报Bug】uniapp运行鸿蒙崩溃)。在该案例中,由于设备的鸿蒙系统版本较低(Developer Beta2),缺少了新版本中新增的 WebKeyboardAvoidMode 等底层对象,导致运行时抛出 ReferenceError 从而崩溃。
  • 当前崩溃根因:你的日志显示 NativeCustomSpan is not defined 以及 arkts.abc is not existed。这说明 HBuilderX 5.15 编译产物的运行时(libjsruntime.so)在启动时尝试加载了当前设备系统中不存在的底层模块或系统文件(libarkts_napi.z.so 等)。这通常是因为编译时使用的鸿蒙 SDK 版本(API 22 / 6.0.2.130)较高,而运行设备的系统版本(HarmonyOS 5.1.0 / 6.1.0)未能提供对应的底层能力支持。
  • 关于 targetSdkVersion 调低:知识库中暂未找到通过调低 manifesttargetSdkVersion 来绕过此类底层 C/C++ 或 ArkTS 模块加载失败问题的明确依据。由于报错发生在系统 NAPI 层和 ArkCompiler 初始化阶段,调整前端配置可能无法干预系统底层的 so 文件加载逻辑。

3. 解决方案与建议

针对你提出的问题,回复如下:

  1. 是否为 Bug:这属于 uni-app 鸿蒙运行时在特定低版本系统设备上的兼容性问题。运行时不应在未做兼容判断的情况下强依赖高版本系统才有的 libarkts_napi.z.so 等文件。
  2. 修复版本或补丁:目前知识库中暂未找到针对该特定崩溃的已发布修复版本或补丁说明。
  3. 系统固件升级:由于崩溃的直接原因是设备系统中缺少 /system/lib64/module/libarkts_napi.z.so/system/etc/abc/arkts.abc 文件,建议将这批 MatePad Mini 设备的 HarmonyOS 系统固件升级到与你的编译 SDK(API 22 / 6.0.2)相匹配或更高的最新版本,以补齐底层运行库。
  4. 临时绕过方案:建议尝试在 HBuilderX 中重新清理缓存编译,或新建一个空白的 Vue3 鸿蒙工程运行至该设备,以排除是否为历史缓存导致的高版本依赖残留。如问题依旧,请将最简复现工程提交至 issues 系统,我们将安排研发人员进行深入排查。
内容为 AI 生成,仅供参考

要回复问题请先登录注册