Android小技巧—查看代碼混淆后的日志

一、前言

隨著項(xiàng)目版本的迭代,用戶數(shù)量的迅速增長,app或多或少會出現(xiàn)bug。一般我們會使用友盟、Bugly、TalkingData等等統(tǒng)計(jì)工具來統(tǒng)計(jì)線上bug的情況。本篇文章主要闡述,如何從代碼被混淆之后的錯(cuò)誤日志中,來定位錯(cuò)誤代碼的博文。

二、統(tǒng)計(jì)工具之坑Mapping文件上限為10M

用過統(tǒng)計(jì)工具的同學(xué)應(yīng)該知道,當(dāng)線上App出現(xiàn)bug之后,我們會去統(tǒng)計(jì)工具“錯(cuò)誤列表”的錯(cuò)誤日志中尋找錯(cuò)誤代碼來源(不同統(tǒng)計(jì)工具中統(tǒng)計(jì)文案可能不同,此處以友盟為例)。上線之前大家都會對代碼進(jìn)行混淆及應(yīng)用包加固等等操作,因此錯(cuò)誤列表的錯(cuò)誤日志會出現(xiàn),錯(cuò)誤日志無法定位的問題。如下圖所示:


錯(cuò)誤日志.png

一般遇到此情況我們會到..../app/build/outputs/mapping/normal下找到Mapping.txt,將該文件上傳來定位錯(cuò)誤代碼行數(shù)。但是隨著版本迭代,Mapping.txt文件會逐漸增大,你可能在上傳代碼時(shí)會遇到以下情況:


友盟上傳Mapping提示.png

Android自帶查看混淆錯(cuò)誤日志工具

出現(xiàn)以上問題,如何解決呢?按照經(jīng)驗(yàn)來說,Google應(yīng)該會提供工具來解決混淆的問題。于是查閱資料我發(fā)現(xiàn)原來Android studio是查看混淆錯(cuò)誤日志工具,定位查找混淆代碼的步驟如下所示(這里我以Mac為例):

第一步:查找proguardgui文件

1.在Android studio菜單欄中點(diǎn)擊"File->Project Structure"或“File->Other Setting-->Project Structure”來找到SDK目錄
SDK目錄.png
2.使用命令行“cmd /Users/XX/Library/Android/sdk” 或手動選擇文件夾進(jìn)入

補(bǔ)充mac中快速查找方式:選擇訪達(dá)中“前往->前往文件夾”輸入“/Users/XX/Library/Android/sdk”。


前往文件夾.png
3.打開proguardgui文件

方法一:找到“sdk-> tools ->proguard-> bin->proguardgui.sh”文件,將該文件直接拖入終端中;


proguardgui.sh.png

方法二:找到“sdk-> tools ->proguard-> lib->proguardgui.jar”文件,雙擊打開文件。
proguardgui.jar.png
4.查看錯(cuò)誤日志

1.點(diǎn)擊“ReTrace”;
2.點(diǎn)擊“Browse”,選中項(xiàng)目工程下..../app/build/outputs/mapping/normal/mapping.txt;
3.將錯(cuò)誤日志中復(fù)制粘貼到“Obfuscated stack trace”下的內(nèi)容區(qū)域中;
4.點(diǎn)擊右下角“ReTrace!”,即可定位錯(cuò)誤代碼。


proguardgui.png

參考文章:Android之如何看混淆后的錯(cuò)誤日志代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容