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

时间:2019-05-09 15:09:45

标签: java android android-studio

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

我使用了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  

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

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

1 个答案:

答案 0 :(得分:1)

android docs(https://developer.android.com/studio/debug/apk-debugger#attach_java)中提供了所需的答案:

  

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

     

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

     

在“项目”窗格中双击.smali文件(使用Android视图)。打开文件后,编辑器将显示一个警告标语,要求您选择Java源代码,类似于图1所示。       在编辑器窗口顶部的横幅中,单击“附加Java源代码”。       导航到包含应用程序Java源文件的目录,然后单击“打开”。

     

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