【发布时间】:2013-10-09 20:03:31
【问题描述】:
到目前为止,我能够在 Eclipse 中进行调试的唯一方法是将 Treeshaker 与 Scala IDE 的错误 2.8 分支一起使用。如果我尝试在没有 Treeshaker 的情况下使用 Scala IDE 进行构建,我会在 scala-on-android 上根据 this long thread 收到 ClassNotFound 错误。
理想情况下,我会使用 sbt-android 构建并在 Eclipse 中进行调试,但我一直无法成功。我能够实现的最接近调试 sbt-android 项目的方法是使用 android:package-debug 命令构建 sbt-android 项目,使用 android:start-emulator 命令启动可执行文件,然后将 DDMS 连接到应用程序的线程。
但是,我设置了断点,只有在我将调试器连接到线程后才会执行,并且没有一个会导致线程在到达时停止。
除了基于 Scala 2.8 的 Scala IDE 的 Treeshaker 之外,是否有人能够在 Eclipse 中使用任何其他工具调试 Scala Android 代码?
更新:在使用 sbt、sbteclipse 和 android-plugin 从命令行构建之后,我在 Eclipse 中成功调试(不是构建)。
我所做的是使用 Eclipse 的新 Android 项目菜单,连接到现有源,并将其指向 ./src/main 目录。然后 Eclipse 识别出 Android 设置,DDMS 识别出该任务属于 Eclipse Android 项目。
我还必须重新配置 Eclipse 项目的 Java 构建路径源文件夹,方法是从构建路径中删除 src 文件夹并添加 ./scala 文件夹。然后我必须重新启动 Eclipse 才能在 Scala 文件中添加断点。
Here's some interesting discussion 关于使用 Eclipse 构建和调试 Android 应用程序的困难。
【问题讨论】:
-
如果您是 Eclipse 用户,您可能想试试我的 AndroidProguardScala Eclipse 插件 - 它使使用 Scala + Android 变得更容易一些。 github.com/banshee/AndroidProguardScala