2

我想使用 Eclipse 调试一个 Android 应用程序。我已经从 apk 中提取了 Java 代码(使用 dex2jar,然后使用 jd-gui),我还在 Eclipse 中从现有代码中创建了一个新的 Java 项目,但是现在我被卡住了,因为我有很多未解决的导入(我猜是因为这个项目中没有谷歌的API),不知道怎么调试。事实上,我什至不知道这是否可能......但是从 smali 代码调试是一种痛苦(如果你不知道 smali ,那就更痛苦了:D)。

你们中的任何人都知道这是否可能?有什么指导方针吗?

谢谢你。

4

1 回答 1

1

通过 Eclipse 进行调试(如分步执行)需要 AFAIR 调试信息存在于要调试的 APK 中。

此外,即使 APK 包含调试信息,您也会遇到大多数 Java 反编译器不会生成代码,其中反编译的源代码行与 APK 的调试信息中标记的源代码行匹配。因此,您可能能够调试应用程序,但 Eclipse 无法向您显示正确的行号。

在常规的非 Android 项目中使用 jd-gui 时,这已经是一个问题。我认为在 Android 项目中情况更糟。

因此,我只看到一种调试应用程序的方法,你只有反编译的代码:

修复反编译的代码(希望它被完全反编译 - 有时类会因为反编译错误而被忽略)并将其重新编译为带有调试信息的 APK。据我所知,这是唯一的方法。

于 2012-11-20T14:16:10.667 回答