admin 管理员组文章数量: 887007
1:如果发生问题的设备在手边,则可以通过ADB 命令连接手机,获取到设备发生时的日志
adb.exe 在(SDK\platform-tools),也可以添加到环境变量PATH中使用,
使用cmd命令行连接设备:
adb connect 127.0.0.1:5555(Ip地址:端口号 一般为5554或者5555)
获取设备的所有日志及当前的日志: adb logcat -v time > d:\myLog.txt ctrl+c停止获取
获取某个时间之后的日志: adb logcat -t "2023-6-30 09:10:00.001" >d:/logs/aa.txt
可以将日志输出到电脑中
2:接入firebase.Crashlytics,可以收到APP上线后的崩溃和ANR时发生的堆栈信息,
Unity打包时需要选择BuildSettings->Create symbols.zip Debugging或者Public,这样可以获得symbols文件,当Crashlytics中获取到堆栈信息的时候可以通过工具查看堆栈信息的具体函数
如:堆栈信息:
#00 pc 0x22af08 libunity.so (libunity.0x22af08) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#01 pc 0x33b5d9 libunity.so (libunity.0x33b5d9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#02 pc 0x3f4a1f libunity.so (libunity.0x3f4a1f) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#03 pc 0x3f510d libunity.so (libunity.0x3f510d) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#04 pc 0x28d8a7 libunity.so (libunity.0x28d8a7) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#05 pc 0x28d8c9 libunity.so (libunity.0x28d8c9) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#06 pc 0x28da5b libunity.so (libunity.0x28da5b) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#07 pc 0x3a9cab libunity.so (libunity.0x3a9cab) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#08 pc 0x3b91a5 libunity.so (libunity.0x3b91a5) (BuildId: d338d5d5b8875ca34fb61f05a7db43a94d1788d2)
#09 pc 0x2a82941 base.odex (base.0x2a82941)
然后通过NDK工具可以解析为具体函数:
查看堆栈日志:
32位:
D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin
命令:arm-linux-androideabi-addr2line -f -C -e .\symbols\armeabi-v7a\libunity.so 0x3b91a5
64位:
D:\UnityHub\2021.3.26f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin
命令:aarch64-linux-android-addr2line -f -C -e .\symbols\armeabi-v7a\libunity.so 0xbd1e44
其实谷歌有提供上传symbol文件的功能,这样在解析的时候就可以直接获得可以看懂的日志
Unity提供了一个插件:
配合以下正则也可以捕获Firebase的堆栈:
\s*#\d{2}\s*pc\s(?<address>0x[a-fA-F0-9]+).*(?<libName>lib.*)\.so
版权声明:本文标题:Unity中安卓崩溃日志处理记录 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729877132h1364509.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论