##一、前言 随着项目版本的迭代,用户数量的迅速增长,app或多或少会出现bug。一般我们会使用友盟、Bugly、TalkingData等等统计工具来统计线上bug的情况。本篇文章主要阐述,如何从代码被混淆之后的错误日志中,来定位错误代码的博文。 ##二、统计工具之坑Mapping文件上限为10M 用过统计工具的同学应该知道,当线上App出现bug之后,我们会去统计工具“错误列表”的错误日志中寻找错误代码来源(不同统计工具中统计文案可能不同,此处以友盟为例)。上线之前大家都会对代码进行混淆及应用包加固等等操作,因此错误列表的错误日志会出现,错误日志无法定位的问题。如下图所示:
一般遇到此情况我们会到..../app/build/outputs/mapping/normal下找到Mapping.txt,将该文件上传来定位错误代码行数。但是随着版本迭代,Mapping.txt文件会逐渐增大,你可能在上传代码时会遇到以下情况: ##Android自带查看混淆错误日志工具 出现以上问题,如何解决呢?按照经验来说,Google应该会提供工具来解决混淆的问题。于是查阅资料我发现原来Android studio是查看混淆错误日志工具,定位查找混淆代码的步骤如下所示(这里我以Mac为例): ###第一步:查找proguardgui文件 #####1.在Android studio菜单栏中点击"File->Project Structure"或“File->Other Setting-->Project Structure”来找到SDK目录 #####2.使用命令行“cmd /Users/zhiqinggong/Library/Android/sdk” 或手动选择文件夹进入 补充mac中快速查找方式:选择访达中“前往->前往文件夹”输入“/Users/zhiqinggong/Library/Android/sdk”。 #####3.打开proguardgui文件 方法一:找到“sdk-> tools ->proguard-> bin-> ”文件,将该文件直接拖入终端中; 方法二:找到“sdk-> tools ->proguard-> lib->proguardgui.jar”文件,双击打开文件。 #####4.查看错误日志 1.点击“ReTrace”; 2.点击“Browse”,选中项目工程下..../app/build/outputs/mapping/normal/mapping.txt; 3.将错误日志中复制粘贴到“Obfuscated stack trace”下的内容区域中; 4.点击右下角“ReTrace!”,即可定位错误代码。参考文章: