如何使用retrace.bat在Android中获取混淆代码的堆栈跟踪

3
我正在命令提示符中使用retrace.bat -verbose mapping.txt obfuscated_trace.txt,但它显示错误信息:retrace.bat不是内部命令。我该如何解决这个问题?

你在命令提示符中的当前目录是什么? - user370305
我正在指向mapping.txt,并将retrace.bat路径包含在环境变量中。 - Sando
你能否尝试从Proguard目录运行它,并提供两个.txt文件的完整路径? - user370305
3个回答

4
请按照以下步骤操作:
  1. 打开终端/cmd

  2. cd **/sdk/tools/proguard/bin/proguardgui.jar

  3. 参考附图,打开"retrace GUI"

  4. 选择您的映射文件并复制粘贴混淆后的堆栈跟踪信息

就是这样,简单易行。

enter image description here


这很有帮助,但是这个GUI文件的目录是sdk/tools/proguard/lib/proguardgui.jar。 - Amir jodat

2
当你调用retrace.bat时,不需要写.bat后缀,因此只需写:
retrace -verbose mapping.txt obfuscated_trace.txt

也许你不在当前路径上,你应该在

...\android-sdk-windows\tools\proguard\bin

1

如果您当前在命令提示符处的路径与批处理文件所在的路径不同,且批处理文件所在的路径不在环境变量 PATH 中,则会出现此错误。

要么将 Android SDK Proguard bin 路径添加到环境 PATH 中,在调用时直接指向该路径,或先前往该路径:

SET PATH=%PATH%;[Android SDK 的路径]\tools\proguard\bin

(例如:SET PATH=%PATH%;C:\android-sdk-windows\tools\proguard\bin)

或者在调用时指定路径:

C:\android-sdk-windows\tools\proguard\bin\retrace.bat -verbose mapping.txt obfuscated_trace.txt

或者先前往该路径:

cd C:\android-sdk-windows\tools\proguard\bin\
retrace.bat -verbose "path\to\mapping.txt" "\path\to\obfuscated_trace.txt"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接