前言
通常我们在发布线上的App时,都会对代码进行混淆。三方平台如Bugly、Umeng、等等平台,都会收集到一些错误信息。当我们每次打包结束的时候都会在app/build/outputs/mapping/目录当中生成与其当前版本相对应的mapping 文件。以供我们分析相关的错误信息。
示例
如在三方平台取的错误日志信息,这样的错误日志很不便我们分析问题,这个时候我们就需要借助 proguard 来分析具体的错误日志。Produncts 官方文档:https://www.guardsquare.com/en/products/proguard),这个时候我们就直接使用Android 提供的 proguardgui 工具直接分析相关的混淆错误日志信息。
java.lang.IllegalArgumentException: The surface has been released
at android.media.MediaPlayer._setVideoSurface(Native Method)
at android.media.MediaPlayer.setSurface(MediaPlayer.java:839)
at cn.jzvd.d.a(TbsSdkJava:97)
at cn.jzvd.c$a.handleMessage(TbsSdkJava:153)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:207)
at android.os.HandlerThread.run(HandlerThread.java:65)
使用
-
双击 打开AndroidSDK\tools\proguard\bin 目录当中的 proguardgui.bat 文件,如图(1-1)
选择并点击左侧菜单栏当中的 ReTrace 按钮 - -> 点击 Browse... 文件选择本地的 mapping 文件
-
将错误日志复制至 Obfuscated stack trace 菜单栏当中,点击右下角的 ReTrace 按钮 即可解密混淆过的错误日志信息
至此我们就完成了混淆文件日志的解密,从而方便我们的使用。