如何通過(guò)Android Logcat插件分析firebase崩潰問(wèn)題
一、安裝Android Logcat插件
1、新建空白u(yù)nity工程,打開(kāi)PackageManager窗口,菜單欄Window/PackageManager
2、PackageManager中安裝Android Logcat日志工具
3、安裝AndroidLogcat完成
二、獲取Create symbols.zip中的libil2cpp.sym.so文件
1.打包
在出包時(shí)勾選Create symbols.zip選項(xiàng),在PlayerSettings面板中,出包選項(xiàng)從mono切換到il2cpp,然后Build包
出包完成,目錄會(huì)有一個(gè)apk和一個(gè)zip的符號(hào)表壓縮包
三、獲取libunity.sym.so文件
在Unity編輯器中,libunity.sym.so文件通常位于Unity安裝目錄下的Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols文件夾中。
具體路徑是:{Unity安裝目錄}\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols
請(qǐng)注意,這個(gè)路徑是基于默認(rèn)的Unity安裝目錄,并且可能因?yàn)椴煌腢nity版本或自定義安裝路徑而有所變化。如果你的Unity安裝目錄有所不同,你可以通過(guò)搜索文件名或在Unity編輯器中使用"Reveal in Finder"(在資源視圖中右鍵點(diǎn)擊文件,選擇"Show in Explorer")等選項(xiàng)來(lái)找到libunity.sym.so文件的確切位置。
四、Crash日志解析
1.菜單欄打開(kāi)AndroidLogcat工具,Window/Analysis/AndroidLogcat
2.配置符號(hào)表
右上角,點(diǎn)擊Tools,點(diǎn)擊Stacktrace Utility
點(diǎn)擊Configure Symbol Path,然后彈出的配置界面點(diǎn)擊+號(hào)
點(diǎn)擊Pick Custom Location,選擇剛剛解壓的符號(hào)表文件夾
3.崩潰堆棧格式
找到一個(gè)firebase上的崩潰堆棧:
Fatal Exception: Tombstone: Version '2019.4.40f1 (ffc62b691db5)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'armeabi-v7a' Build fingerprint: 'TECNO/BE8-RU/TECNO-BE8:12/SP1A.210812.016/230105V142:user/release-keys' Revision: '0' ABI: 'arm' Timestamp: 2024-01-24 10:11:45+0400 pid: 20495, tid: 20628, name: UnityMain >>> <<< uid: 10182 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 Cause: null pointer dereference r0 00000000 r1 00000000 r2 00000002 r3 00000001 r4 06eca250 r5 44fb7fd0 r6 6eaf1af5 r7 00000020 r8 7a5c083c r9 a7e97710 r10 00000000 r11 7a5c07e0 ip 7a5c0740 sp 7a5c07d0 lr aabb9191 pc 5a864344 #00 pc 0x1322344 libil2cpp.so (libil2cpp.0x1322344) #01 pc 0x1322158 libil2cpp.so (libil2cpp.0x1322158) #02 pc 0x1321f00 libil2cpp.so (libil2cpp.0x1321f00) #03 pc 0x1321cf4 libil2cpp.so (libil2cpp.0x1321cf4) #04 pc 0x1322690 libil2cpp.so (libil2cpp.0x1322690) #05 pc 0x353445 libunity.so (libunity.0x353445) #06 pc 0x35e337 libunity.so (libunity.0x35e337) #07 pc 0x35db77 libunity.so (libunity.0x35db77) #08 pc 0x35e043 libunity.so (libunity.0x35e043) #09 pc 0x3542a9 libunity.so (libunity.0x3542a9) #10 pc 0x3542c5 libunity.so (libunity.0x3542c5) #11 pc 0x354461 libunity.so (libunity.0x354461) #12 pc 0x4313bf libunity.so (libunity.0x4313bf) #13 pc 0x43f191 libunity.so (libunity.0x43f191) #14 pc 0xac07b base.odex (base.0xac07b)
AndroidLogcat可解析的崩潰堆棧格式為:
#xx pc 32位地址(即8位16進(jìn)制數(shù),要去掉x,不足在前面補(bǔ)0) /{ABI}/{xxx}.so
#00 pc 01322344 /arm/libil2cpp.so #01 pc 01322158 /arm/libil2cpp.so #02 pc 01321f00 /arm/libil2cpp.so #03 pc 01321cf4 /arm/libil2cpp.so #04 pc 01322690 /arm/libil2cpp.so #05 pc 00353445 /arm/libunity.so #06 pc 0035e337 /arm/libunity.so #07 pc 0035db77 /arm/libunity.so #08 pc 0035e043 /arm/libunity.so #09 pc 003542a9 /arm/libunity.so #10 pc 003542c5 /arm/libunity.so #11 pc 00354461 /arm/libunity.so #12 pc 004313bf /arm/libunity.so #13 pc 0043f191 /arm/libunity.so
4.選擇abi對(duì)應(yīng)的符號(hào)表
ABI:arm=>armeabi-v7a arm64=>arm64-v8a (還有其他如x86、x86_64)
5.解析
參考:UnityIL2CPP包Crash閃退利用Android Logcat還原符號(hào)表堆棧日志
到此這篇關(guān)于如何通過(guò)Android Logcat插件分析firebase崩潰問(wèn)題的文章就介紹到這了,更多相關(guān)Android Logcat firebase崩潰內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 在Android界面上顯示和獲取Logcat日志輸出的方法
- Android adb logcat 命令查看日志詳細(xì)介紹
- Android shell命令行中過(guò)濾adb logcat輸出的幾種方法
- Android開(kāi)發(fā)之在程序中時(shí)時(shí)獲取logcat日志信息的方法(附demo源碼下載)
- Android Studio使用小技巧:自定義Logcat
- logcat命令使用方法和查看android系統(tǒng)日志緩沖區(qū)內(nèi)容的方法
- android真機(jī)調(diào)試時(shí)無(wú)法顯示logcat信息的解決方法介紹
- Android開(kāi)發(fā)筆記之:一分鐘學(xué)會(huì)使用Logcat調(diào)試程序的詳解
相關(guān)文章
Android滾動(dòng)條廣告實(shí)現(xiàn)代碼示例
本篇文章主要介紹了Android滾動(dòng)條廣告實(shí)現(xiàn)代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Android實(shí)現(xiàn)銀行卡、手機(jī)號(hào)帶空格格式
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)銀行卡、手機(jī)號(hào)帶空格的格式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12Cocos2d-x入門(mén)教程(詳細(xì)的實(shí)例和講解)
這篇文章主要介紹了Cocos2d-x入門(mén)教程,包括詳細(xì)的實(shí)例、講解以及實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2014-04-04Android 簡(jiǎn)單的圖片查看器源碼實(shí)現(xiàn)
本篇文章主要介紹了Android 簡(jiǎn)單的圖片查看器源碼實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09android Launcher AppWidget添加步驟介紹
大家好,本篇文章主要講的是android Launcher AppWidget添加步驟介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2022-01-01Android 頂部標(biāo)題欄隨滑動(dòng)時(shí)的漸變隱藏和漸變顯示效果
這篇文章主要介紹了Android 頂部標(biāo)題欄隨滑動(dòng)時(shí)的漸變隱藏和漸變顯示效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06Android?`%d`?與?`1$%d`?格式化的區(qū)別解析
本文詳細(xì)解析了Android開(kāi)發(fā)中`%d`和`1$%d`格式化占位符的區(qū)別,并通過(guò)Kotlin代碼示例幫助理解,`%d`按順序填充參數(shù),而`1$%d`按指定索引填充參數(shù),后者在多語(yǔ)言場(chǎng)景下更靈活,感興趣的朋友一起看看吧2025-03-03Android控件系列之Button以及Android監(jiān)聽(tīng)器使用介紹
Button是各種UI中最常用的控件之一,它同樣也是Android開(kāi)發(fā)中最受歡迎的控件之一,用戶(hù)可以通過(guò)觸摸它來(lái)觸發(fā)一系列事件,要知道一個(gè)沒(méi)有點(diǎn)擊事件的Button是沒(méi)有任何意義的,因?yàn)槭褂谜叩墓潭ㄋ季S是見(jiàn)到它就想去點(diǎn)2012-11-11Android實(shí)現(xiàn)帶磁性的懸浮窗體效果
這篇文章主要介紹了Android實(shí)現(xiàn)帶磁性的懸浮窗體效果,涉及Android針對(duì)窗體的動(dòng)態(tài)操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07