Android App 混淆打包错误日志追踪
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android App 混淆打包错误日志追踪相关的知识,希望对你有一定的参考价值。
一 打混淆包,带正式签名
1 编辑proguard-rules.txt文件,配置好不能混淆的类或方法,否则会报错。
a、需要反射的代码
b、系统接口
c、Jni接口
d、需要序列号和反序列化的代码(即实现Serializable、Parcelable接口的JavaBean)
e、与服务端进行元数据交互的JavaBean(JSON、XML中对应的类)
![技术分享](file:///var/folders/t_/_b3jdtfx2zb4s8k9zz72q7qh0000gn/T/WizNote/7b7c5683-0b9d-44e3-a9c1-205ac6ab9ba6.png)
![技术分享](file:///var/folders/t_/_b3jdtfx2zb4s8k9zz72q7qh0000gn/T/WizNote/2e575d9b-04f6-4c18-b80c-3d005b9bfc0b.png)
2 检查 gradle.build文件中的buildTypes release节点,确认minifyEnabled true
![技术分享](file:///var/folders/t_/_b3jdtfx2zb4s8k9zz72q7qh0000gn/T/WizNote/77b8f09d-3104-439d-a2d7-a642b3164feb/index_files/b9b8bfeb-7b87-4a42-b8b4-d73be898b8a7.png)
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当然不在话下啦!
![技术分享](https://image.cha138.com/20200617/c9af6d24824244fc8810f024a8b443d1.jpg)
以上是关于Android App 混淆打包错误日志追踪的主要内容,如果未能解决你的问题,请参考以下文章