美文网首页
Android小技巧—查看代码混淆后的日志

Android小技巧—查看代码混淆后的日志

作者: 龚十一 | 来源:发表于2018-08-01 14:13 被阅读0次

一、前言

随着项目版本的迭代,用户数量的迅速增长,app或多或少会出现bug。一般我们会使用友盟、Bugly、TalkingData等等统计工具来统计线上bug的情况。本篇文章主要阐述,如何从代码被混淆之后的错误日志中,来定位错误代码的博文。

二、统计工具之坑Mapping文件上限为10M

用过统计工具的同学应该知道,当线上App出现bug之后,我们会去统计工具“错误列表”的错误日志中寻找错误代码来源(不同统计工具中统计文案可能不同,此处以友盟为例)。上线之前大家都会对代码进行混淆及应用包加固等等操作,因此错误列表的错误日志会出现,错误日志无法定位的问题。如下图所示:


错误日志.png

一般遇到此情况我们会到..../app/build/outputs/mapping/normal下找到Mapping.txt,将该文件上传来定位错误代码行数。但是随着版本迭代,Mapping.txt文件会逐渐增大,你可能在上传代码时会遇到以下情况:


友盟上传Mapping提示.png

Android自带查看混淆错误日志工具

出现以上问题,如何解决呢?按照经验来说,Google应该会提供工具来解决混淆的问题。于是查阅资料我发现原来Android studio是查看混淆错误日志工具,定位查找混淆代码的步骤如下所示(这里我以Mac为例):

第一步:查找proguardgui文件

1.在Android studio菜单栏中点击"File->Project Structure"或“File->Other Setting-->Project Structure”来找到SDK目录
SDK目录.png
2.使用命令行“cmd /Users/XX/Library/Android/sdk” 或手动选择文件夹进入

补充mac中快速查找方式:选择访达中“前往->前往文件夹”输入“/Users/XX/Library/Android/sdk”。


前往文件夹.png
3.打开proguardgui文件

方法一:找到“sdk-> tools ->proguard-> bin->proguardgui.sh”文件,将该文件直接拖入终端中;


proguardgui.sh.png
方法二:找到“sdk-> tools ->proguard-> lib->proguardgui.jar”文件,双击打开文件。 proguardgui.jar.png
4.查看错误日志

1.点击“ReTrace”;
2.点击“Browse”,选中项目工程下..../app/build/outputs/mapping/normal/mapping.txt;
3.将错误日志中复制粘贴到“Obfuscated stack trace”下的内容区域中;
4.点击右下角“ReTrace!”,即可定位错误代码。


proguardgui.png

参考文章:Android之如何看混淆后的错误日志代码

相关文章

  • Android小技巧—查看代码混淆后的日志

    一、前言 随着项目版本的迭代,用户数量的迅速增长,app或多或少会出现bug。一般我们会使用友盟、Bugly、Ta...

  • Android NDK混淆

    项目原因研究Android的So库代码混淆,增加IDA工具查看的复杂度。简单接触了ollvm 混淆组件。网上查看了...

  • ProGuard详解

    Android分享:代码混淆那些事Android代码混淆之混淆规则Android-Dev-Favorites An...

  • android查看混淆之后的日志

    转自:https://www.jianshu.com/p/528e0a24936e

  • Android代码混淆

    待整理。。。 参考: Android混淆从入门到精通 Android代码混淆之混淆规则 代码混淆规则配置文件:pr...

  • Android混淆后日志查看方法

    1 找到build 版本时的mapping.txt文件 位置一般在 build -> outputs -> map...

  • Android混淆相关

    混淆示例代码 解码混淆后的堆栈信息 由于方法名会被混淆,直接查看log很难定位到问题。 google官方提供了一个...

  • android studio dolphin logcat 启用

    Android Studio dolphin更新后,如果不习惯新版的日志查看,可以在此处关闭新版本日志查看功能,且...

  • 查看日志小技巧

    grep命令的几个参数含义如下:grep ‘name’ -A 10 显示匹配内容和后面的10行grep ‘name...

  • 根据mapping.txt还原混淆的代码

    混淆后的代码报回来的日志,手里拿着混淆之后生成的mapping.txt,只需要很简单的方式就可以还原成可读代码。 ...

网友评论

      本文标题:Android小技巧—查看代码混淆后的日志

      本文链接:https://www.haomeiwen.com/subject/sqzhvftx.html