无法调试APK:“要设置调试断点,请附加Java源文件”

E23*_*235 5 java android android-studio

我有一个APK debuggable="true"(根据AndroidManifest),这意味着我可以调试它,这就是我想要做的。

我使用Android Studio:“ 文件”->“配置文件”或“调试APK”来加载apk(app.apk)。

当我尝试调试它时(Shift + F9),它写道:

反汇编的classes.dex文件。要设置调试断点,请附加Java源文件

我使用jadx通过运行以下命令将APK反编译为Java源代码:

"c:\tmp\jadx-0.8.0\bin\jadx.bat" -d java_source app.apk  
Run Code Online (Sandbox Code Playgroud)

我现在在java_source目录中有两个目录:
-资源
-源

sources文件夹中,我有Java文件。
如何根据消息的要求将它们附加到Android Studio项目?
只是将其作为一个新项目打开?

Sna*_*det 5

看起来你想要的答案可以在 android 文档中找到(https://developer.android.com/studio/debug/apk-debugger#attach_java):

\n\n
\n

默认情况下,Android Studio 从您的 APK 中提取 Java 代码并将其保存为 .smali 文件。要使用断点调试 Java 代码,您需要将 IDE 指向与要调试的 .smali 文件对应的 .java 源文件。

\n\n

要附加 Java 源,请按以下步骤操作:

\n\n

双击“项目”窗格中的 .smali 文件(使用 Android 视图)。打开文件后,编辑器会显示一个警告横幅,要求您选择 Java 源,类似于图 1 中所示的内容。\n 从编辑器窗口顶部的横幅中单击“附加 Java 源”。\n 导航转到包含 app\xe2\x80\x99s Java 源文件的目录,然后单击“打开”。

\n\n

在“项目”窗口中,IDE 将 .smali 文件替换为相应的 .java 文件\xe2\x80\x94。IDE 还会自动包含内部类。您现在可以像平常一样添加断点并调试您的应用程序。

\n
\n