📜  如何使用映射文件对 Android Stacktrace 进行反混淆?

📅  最后修改于: 2022-05-13 01:58:44.594000             🧑  作者: Mango

如何使用映射文件对 Android Stacktrace 进行反混淆?

一般来说,我们收到的堆栈跟踪可能是 ANR(应用程序无响应)问题、Android 服务日志(例如广播接收器)、Intent 服务等等。在开发方面,跟踪这些错误日志将是一个主要负担。在本文中,我们将介绍一些特定技术来追溯从 Google Play 崩溃报告、Firebase 崩溃报告或任何崩溃报告分析工具获得的堆栈跟踪。因此,我们将从以下步骤开始进行回溯。

  1. 识别堆栈跟踪错误报告
  2. 检查映射文件
  3. 要追溯它,请使用 (proguardgui) 工具

分步实施

第 1 步:读取堆栈跟踪

因此,让我们通过检查示例堆栈跟踪来开始本文,以帮助更好地了解它的实际工作原理!

图片#1。查看堆栈跟踪。

步骤#2:读取地图文件

现在下一步是获取映射文件,请按照以下步骤操作:

app/build/outputs/mapping/FLAVOR/release/mapping.txt

步骤 #3:打开 Gradle GUI

一旦你完成了前面的步骤,现在你必须打开 gradle GUI,浏览到

/AppData/Local/Android/SDK/tools/proguard/lib

然后找到一个名为“proguardgui.exe”的可执行文件,双击打开它,会打开一个像这样的窗口:

图片#2。 Proguard GUI 窗口。

当您到达此窗口时,只需从上述步骤 01 中指示的 URL 浏览您的 mapping.txt 文件,将您的堆栈跟踪错误日志放在混淆的堆栈跟踪窗口中,最后单击 ReTrace 按钮以接收 DeObfuscated 错误报告。

第 4 步:使用 Play 商店开发者控制台

  1. 使用您的登录凭据登录到您的 Play 开发者帐户。
  2. 选择一个应用程序。
  3. 从左侧菜单中选择 Android Vitals > 去混淆文件。
  4. 单击软件版本旁边的上传。
  5. 为您的应用程序版本上传 ProGuard 映射文件。

步骤#5:在 Mac 上使用终端

如果你在 mac 上使用终端,整个过程会变得更容易,你只需要执行以下操作:

java -jar /Users//Library/Android/sdk/tools/proguard/lib/proguardgui.jar

前面的所有过程都是在您的开发端本地执行的,它们需要一些工作,这将我们带到这篇 Geeks for Geeks 文章的结尾,希望这有助于您轻松地对代码进行反混淆!