我有一个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项目?
只是将其作为一个新项目打开?
答案 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还将自动包含内部类。现在,您可以像往常一样添加断点并调试应用了。