增强渲染故障排查——悬浮窗不显示 / 激活掉了
故障表现
开了增强渲染后出现以下任一情况:
- Mod Menu 悬浮窗不显示
- JsHook App 打开后立刻闪退
- 原来激活正常,开了增强渲染后激活状态消失
- 目标应用一开就闪退
快速解决
最快的办法就是关掉增强渲染:
- 清 JsHook 应用数据(如果已经掉激活了)
- 重新激活
- 激活成功后先不要开增强渲染
- 进设置把增强渲染关掉
- 重启 JsHook
如果还想尝试
关掉后悬浮窗能正常显示,但你还是想让增强渲染工作,可以跑日志给开发者看:
- 打开 MT 管理器的内置终端(或任意支持 root 的终端)
- 执行:
su
logcat | grep ImGui
这条命令会持续过滤 logcat 里和 ImGui 相关的日志。
- 现在打开 JsHook,开增强渲染
- 观察终端输出的日志行
- 把日志复制出来发给 JsHook 开发者(Telegram 群 @jshookapp 或 GitHub Issue)
开发者拿到日志后,可能会在后续版本里给你的设备 GPU 驱动加适配。
SELinux 影响
极少数情况下 SELinux Enforcing 模式会阻止增强渲染的底层绘制路径。可以临时切成 Permissive 试试:
su
setenforce 0
如果切成 Permissive 后增强渲染能正常工作,说明是 SELinux 策略问题。长期方案是给 JsHook 加 SELinux 规则,或者保持 Permissive。
掉激活后的处理
开增强渲染导致掉激活的恢复流程:
- 清 JsHook 应用数据
- 确保 SELinux 是 Permissive(
getenforce看输出,Enforcing 就setenforce 0) - 重新激活
- 激活成功后增强渲染保持关闭
- 重启 JsHook 确认悬浮窗正常
常见不支持设备
增强渲染不支持的设备主要有两类:
- GPU 太旧或驱动有问题:部分老旧骁龙、联发科芯片
- 虚拟/模拟器环境:基本都不支持,关掉就好
不是你的问题,等开发者适配就行。
关掉增强渲染后的差异
| 方面 | 增强渲染(关) |
|---|---|
| 悬浮窗显示 | 通过 Android View 渲染,正常显示 |
| 性能 | 略低于 ImGui 直绘,但不影响使用 |
| 录屏捕获 | 悬浮窗能被录屏和截图捕获 |
| 可用性 | 所有设备都能跑 |
功能完全够用,就是悬浮窗可能被录屏看到。日常开发调试不受影响。