您好,登錄后才能下訂單哦!
五一一個人,求組織,求關懷
這里講的是apk混淆后出現的bug怎么確定bug地方,而不是因為混淆出現的錯誤。
apk進行混淆后,所有的類(除了-keep的)都變成了com.a.b.c的樣子,一但出現了bug,log輸出如下
- java.lang.NullPointerException
- at com.test.b.a.a(Unknown Source)
- at com.test.b.a.a.m(Unknown Source)
這個錯誤怎么定位啊?
細心的同學可能會發現在混淆后,工程中會增加一個proguard文件夾,如下圖
一眼就看到了mapping.txt(map:映射的意思),它是多么的刺眼啊。對,mapping.txt中就存儲了混淆的映射關系。將bug在mapping.txt中搜一下,就能定位到源碼的具體位置。
注意:每次混淆打包后,這個文件都會被覆蓋。所以當你發布新版本的時候,都需要拷貝相應版本的mappint.txt文件,以備日后解決bug用啊。
關于混淆后出現bug,也有人是把關鍵代碼混淆,而不是全部混淆,這樣能減少少bug查錯的范圍。最近有款apk加固軟件叫“梆梆”,我在想如果用它加固后的apk,如果萬一出現bug了,是怎么樣的
同學們假期愉快,注意休息,對于Coder,身體才是我們最大的財富!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。