美文网首页工作生活
Android通过Mapping文件还原代码错误

Android通过Mapping文件还原代码错误

作者: 技术客栈 | 来源:发表于2019-07-19 20:59 被阅读0次

前言

通常我们在发布线上的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)


    图1-1
  • 选择并点击左侧菜单栏当中的 ReTrace 按钮 - -> 点击 Browse... 文件选择本地的 mapping 文件

  • 将错误日志复制至 Obfuscated stack trace 菜单栏当中,点击右下角的 ReTrace 按钮 即可解密混淆过的错误日志信息


    如图(1-2)

至此我们就完成了混淆文件日志的解密,从而方便我们的使用。

相关文章

网友评论

    本文标题:Android通过Mapping文件还原代码错误

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