一 打混淆包,帶正式簽名
1 編輯proguard-rules.txt文件,配置好不能混淆的類或方法,否則會報錯。
a、需要反射的代碼
b、系統接口
c、Jni接口
d、需要序列號和反序列化的代碼(即實現Serializable、Parcelable接口的JavaBean)
e、與服務端進行元數據交互的JavaBean(JSON、XML中對應的類)


2 檢查 gradle.build文件中的buildTypes release節點,確認minifyEnabled true

3 LogUtils工具類中關閉log的打印
4 可以直接在AS自帶的命令行里面 執行gradle clean assembleRelease 打包
5 找到 ./build/outputs/apk/XXX-release.apk
注意備份mapping文件 ./build/outputs/mapping/release/mapping.txt
二 通過mapping文件查看混淆后的報錯問題:
1,進入android sdk目錄 sdk/tools/proguard/bin/proguardgui.sh 將這個文件拖到命令行中,這樣就可以進入一個圖形界面操作了。
2, ReTrace-->導入 mapping.txt文件,將崩潰收集器文件中的報錯日志粘貼到 Obfuscated stack trace中,然后點擊 ReTrace! 按鈕,這樣你就可以看到混淆前的代碼了,定位bug當然不在話下啦!
