MuMu 模拟器获取 Unity 日志文件


MuMu 模拟器获取 Unity 日志文件

背景

遇到了一个 Bug 只在真机/模拟器打包后出现,Unity 编辑器里一切正常。没法断点调试,只能加日志分析,每次改完代码重新打包再看输出。

直接在 MuMu 模拟器上跑,用 adb logcat 看 Unity 输出的日志,比反复插真机快得多。

Unity 在 Android 上通过 Debug.Log(...)Debug.LogWarning(...)Debug.LogError(...) 输出的日志,会进入 Android 的 logcat 系统日志,Tag 通常是 Unity

获取 Unity 日志

Unity 自带 adb,路径在 Unity 安装目录下:

# Windows
Unity\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\adb.exe

# macOS
/Applications/Unity/Hub/Editor/<version>/PlaybackEngines/AndroidPlayer/SDK/platform-tools/adb

不需要另外装 Android SDK,直接用这个就行。

先连接 MuMu 模拟器:

adb connect 127.0.0.1:7555

查看 Unity 日志:

adb logcat -s Unity

保存到文件:

adb logcat -v time -s Unity > unity.log

清理日志

每次复现问题前先清空 logcat,避免混入旧日志:

adb logcat -c

命令参数解释

adb logcat -v time -s Unity > unity.log

adb logcat

读取 Android 系统日志。

-v time

设置日志输出格式为 time,每行日志带时间信息。

示例格式:

05-19 14:30:12.345 I/Unity(12345): your log message

-s Unity

只显示 Tag 为 Unity 的日志。Unity 的 Debug.LogDebug.LogWarningDebug.LogError 在 Android 上通常都以 Unity 作为 Tag 输出。

> unity.log

命令行重定向,不是 adb 参数。把日志输出写入当前目录下的 unity.log 文件,而不是显示在终端。如果文件已存在,会覆盖原文件。


文章作者: 草莓多多
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 草莓多多 !
  目录