前提:
在開發過程出現bug,這對於程序員來說是家常便飯,有bug就解決bug咯,沒啥問題。
但是如果是線上的包出了bug這個時候去解決bug可能就有問題了,因爲爲了安全,線上的包是會經過混淆的,你所定義創建的類都變成了a,b,c,d,e,f,這樣去閱讀是完全不能進行定位到具體的類。接下來我把我解決線上問題的方式記錄下來,僅供大家參考
一、這是線上出現的bug
按照平時出現這個數組越界的bug是很好解決的,但是由於是混淆後的版本你完全定位不到具體位置,就按照這個bug來說,你只知道這個問題出現在GuessHomeFragment中,但是這個類有上千行的代碼,要是這樣一步一步的找得累死,這個時候得用到是SDK中的一個工具
二、Proguardgui
Proguardgui是SDK自帶的
三、找到線上的mapping文件
四、把上面的mapping.txt文件導入到proguardgui中,並且把對應的bug信息放入到proguardgui中,如圖
五、從小往上找對應的錯誤點
定位到這個方法的
由此對應到了錯誤代碼進行了修改,搞定