到目前为止,我能够在 Eclipse 中进行调试的唯一方法是将 Treeshaker 与 Scala IDE 的错误 2.8 分支一起使用。如果我尝试在没有 Treeshaker 的情况下使用 Scala IDE 构建,我会在 scala-on-android 上的这个长线程中收到 ClassNotFound 错误。
理想情况下,我会使用 sbt-android 构建并在 Eclipse 中进行调试,但我一直无法成功。我能够实现的最接近调试 sbt-android 项目的方法是使用 android:package-debug 命令构建 sbt-android 项目,使用 android:start-emulator 命令启动可执行文件,然后将 DDMS 连接到应用程序的线。
但是,我设置了仅在将调试器连接到线程后才会执行的断点,并且它们都没有导致线程在到达时停止。
除了 Treeshaker 和基于 Scala 2.8 的 Scala IDE 之外,是否有人能够在 Eclipse 中使用任何其他工具调试 Scala Android 代码?
更新:在使用 sbt、sbteclipse 和 android-plugin 从命令行构建后,我在 Eclipse 中成功调试(不是构建)。
我所做的是使用 Eclipse 的新 Android 项目菜单,连接到现有源,并将其指向 ./src/main 目录。然后 Eclipse 识别出 Android 设置,并且 DDMS 识别出该任务属于 Eclipse Android 项目。
我还必须通过从构建路径中删除 src 文件夹并添加 ./scala 文件夹来重新配置 Eclipse 项目的 Java 构建路径源文件夹。然后我不得不重新启动 Eclipse 以向 Scala 文件添加断点。
这里有一些关于使用 Eclipse 构建和调试 Android 应用程序的困难的有趣讨论。