我有一个没有任何来源的现有 .APK 文件。我想在 Bluestacks(或其他)模拟器上使用 Eclipse 对其进行调试。最后,我想设置一个断点,但现在,我只想让它在模拟器上运行。我不是在谈论仅使用 adb 将其安装在模拟器上然后在那里运行。我没有成功让 Eclipse 构建的生成的 .apk 在模拟器上运行。
以下是我已完成的步骤:
- 我将 .apk 重命名为 .zip 并解压缩到一个文件夹中。
- 在 Eclipse 中,我从现有代码创建了一个新的“Android 项目”。在下一个屏幕“导入项目”中,我浏览到解压缩 apk 的文件夹。
但是这个项目在 Eclipse 中有错误!所以我尝试了接下来的步骤:
- 我在 .apk 上执行了 apktool,它创建了一个文件夹,用于在步骤 2 中提到的相同导入。现在项目不再有错误。
- 在 Eclipse 中,我将此项目作为 Android 应用程序“运行”或“调试”,它在模拟器上启动。
不好!logcat 显示诸如“dalvikv - 线程退出但未捕获异常”之类的错误。还有其他关于无法实例化应用程序和 java.lang.ClassNotFoundException 的 logcat 消息。
问题 1:有人能告诉我还需要哪些其他步骤才能将其变成“好”项目吗?关于课程,我有什么明显的遗漏吗?
一旦我可以让它成功地“运行为”或“调试为”,然后我会想通过设置一个断点来调试它。但我似乎无法正确获取源文件夹。由于步骤 3 中提到的 apktool 步骤,我有 .smali 文件。此外,我尝试了各种工具,例如 dex2jar 和 jd-gui,因此我有 .java 文件。但是,每当我告诉 Eclipse 这些源所在的文件夹(并且我检查了“搜索子文件夹”)时,Eclipse 都会说“找不到源”。和“编辑源查找路径”。我还尝试将源代码放在工作区的 /src 文件夹中。
问题 2:我可以将源代码放在哪里以便 Eclipse 找到它们?这些源文件可以是 .smali 还是 .java?