4.1 KiB
4.1 KiB
黄果短剧启动闪退诊断
检查时间:2026-09-09,Asia/Shanghai。
直接故障已确认:黄果短剧在应用加固库 libjiaguv1.so 的 ndk_init 初始化过程中发生原生崩溃。两份已安装应用均能稳定复现,尚未进入应用主界面。
现有证据最支持加固模块与当前 MuMu Android 15 / ARM64 转译运行环境不兼容。仅凭崩溃堆栈,无法最终区分加固库自身缺陷、转译层兼容问题或加固模块的环境检测;不能断言是故意封禁模拟器或 Root 检测。
实测结果
| 项目 | 第一份应用 | 第二份应用 |
|---|---|---|
| 桌面名称 | 黄果短剧 | 黄果短剧 |
| 包名 | dark.qgbevkxqql.ebyrhddxwd |
dark.ufnoinfolj.gfvrmybvrf |
| 版本 | 1.0.3 / versionCode 1 | 1.0.3 / versionCode 1 |
| 安装所选 ABI | arm64-v8a | arm64-v8a |
| SDK | minSdk 24 / targetSdk 36 | minSdk 24 / targetSdk 36 |
| 本次启动 | 15:48:22.014,PID 30459 | 15:49:40.866,PID 30638 |
| 致命信号 | 15:48:22.506 | 15:49:41.313 |
| 启动至致命信号 | 约 0.49 秒 | 约 0.45 秒 |
| 系统退出原因 | APP CRASH(NATIVE),status=11 | APP CRASH(NATIVE),status=11 |
两份应用的加固库 BuildId 相同:cda80a0729e49c2a514407b56d77b8cb9c37e01e,崩溃位置均为 ndk_init+248。
关键堆栈:
Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR)
#00 .../.jiagu/libjiaguv1.so (ndk_init+248)
#01 .../.jiagu/libjiaguv1.so (native_attach(...)+60)
#02 /system/lib64/libtcb.so
宿主 x86_64 崩溃堆栈同时落在 /system/lib64/libhoudini.so。应用进程日志显示它已启用 arm64 Native Bridge,并成功初始化 Houdini,随后加载加固库并在初始化阶段退出。证据支持崩溃发生于加固模块与 ARM 转译链路中,不代表已确定哪一方存在实现缺陷。
SIGSEGV 属于本地代码崩溃信号,参见 Android 官方崩溃说明;堆栈阅读方法见 AOSP 原生崩溃诊断。官方资料用于解释日志类型,不是本应用兼容问题的官方确认。
环境与判断边界
- MuMu 6.6.0.0,Android 15 / API 35,系统 x86_64;ABI 列表为
x86_64,arm64-v8a,x86。 - 两份应用安装所选 ABI 都是 arm64-v8a,在此实例中经 Houdini 转译运行。
- 宿主配置启用了 Root 模式;仅记录环境事实,没有证据证明 Root 是这次崩溃的触发条件。ADB shell 未取得 Root,也未访问受限的模块目录。
- 虚拟机和 Vulkan 渲染器均成功初始化。系统继续运行,两个目标应用进程分别崩溃。
- 本次故障发生于加固初始化阶段,日志不是连接超时或服务端错误;切换代理不针对当前已确认的崩溃点。
- 不能仅因
targetSdk 36高于运行系统 API 35 就判定不兼容。应用已安装并进入启动流程。 - 没有读取应用源码、完整调试符号或进行其他系统版本/真机对照,因此不能声称已经修复,或保证换环境一定有效。
后续验证路径
- 用同一安装包在 ARM64 安卓真机对照启动,判断是否仅在模拟器出现。
- 用独立、干净的 Android 12/其他受支持版本模拟器实例对照启动,保留当前实例;这能帮助区分 Android 15、实例配置及转译兼容差异,尚未执行。
- 若仍闪退,将加固库 BuildId、上述堆栈和系统版本交给应用开发方,要求检查或更新加固组件;安装经其确认兼容的版本。
本地证据
startup-a.txt、startup-b.txt:本次两个应用进程的完整启动日志。crash-reproduced-a.txt、crash-reproduced-b.txt:本次采集的崩溃缓冲区片段。exit-info-a.txt、exit-info-b.txt:Android 系统记录的退出原因和历史复现。package-a.txt、package-b.txt:版本、ABI 和安装元数据。host-findings.md:独立核对的 MuMu 配置、虚拟化及图形日志证据。crash-before.txt:复现前保留的历史崩溃缓冲区。
本次仅打开应用复现并读取日志。没有卸载应用、清理应用数据、重启模拟器或修改代理、Root、系统设置。