You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt for Android应用关闭时触发libc SIGABRT 6错误求助

问题排查与修复方案

你遇到的是Android 10平台下Qt应用关闭时,hwuiTask1线程触发SIGABRT信号的崩溃问题,可按以下步骤排查:

  • 硬件渲染资源释放问题排查

Qt for Android在Android 10的HWUI硬件渲染逻辑存在已知的资源释放时序问题,可先在应用初始化阶段添加如下代码强制关闭硬件加速测试:

// 放在QApplication初始化之前
QCoreApplication::setAttribute(Qt::AA_DisableAndroidHardwareAcceleration);

如果添加后崩溃不再复现,即可确认是硬件渲染释放时序问题,可保留该配置,或升级Qt版本获取官方修复。

  • JNI引用生命周期排查

检查所有Android平台独有JNI调用逻辑:关闭应用时是否存在已被JVM回收的Java对象仍被Native层调用的情况,尤其是自定义原生控件、系统服务调用相关的JNI接口,需要在应用退出前主动释放全局JNI引用,断开Native与Java层的调用关联。

  • 版本缺陷修复

你提到的Qt 12.5.9应为笔误,Qt官方无12.x大版本,常见对应版本为Qt 5.12.9,该版本存在多个Android平台退出异常的已知bug,可升级到Qt 5.12.12 LTS最终补丁版,或Qt 6.2+ LTS版本,hwuiTask1退出崩溃问题在后续版本中已有官方修复。

  • 退出流程时序优化

调整应用退出逻辑,不要直接调用quit()/exit()触发退出,先主动销毁所有顶级UI资源,延迟一段时间再触发进程退出,规避UI资源未完成释放就销毁进程的问题:

foreach (QWidget *w, QApplication::topLevelWidgets()) {
    w->deleteLater();
}
// 延迟200ms等待资源释放完成再退出
QTimer::singleShot(200, qApp, &QApplication::quit);

报错截图

内容的提问来源于stack exchange,提问作者Sangram Jadhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:42:03