【问题标题】:Scala+Android: Is anybody successfully building and debugging in Eclipse?Scala+Android:有人在 Eclipse 中成功构建和调试吗?
【发布时间】: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 应用程序的困难。

【问题讨论】:

标签: android scala scala-ide


【解决方案1】:

一般来说,使用 Eclipse 调试在 Android 上运行的 Scala 代码效果很好,其行为或多或少类似于在常规(非 Android)应用程序上调试 Scala。

我将 sbt 与 sbt-android 和 android:start-emulator 或 android:start-device 一起使用。

根据我是否需要调试应用程序启动,我在设备或模拟器的开发人员设置中设置了等待调试器的选项。为此,请运行“DevTools”/“开发设置”。选择您的应用程序并选中“等待调试器”。

然后您必须选择要在 DDMS 中调试的进程。确保显示调试端口,然后连接 Eclipse 调试器。

调试器未安装断点的一个潜在原因是源代码行在字节码中没有直接等效项。想到理解。

【讨论】:

    【解决方案2】:

    使用AndroidProguardScala,我成功调试,使用scala 2.10和Eclipse 3.7 它还像通常的插件一样处理理解。 在那里查看详细答案:

    Eclipse, Android, Scala made easy but still does not work

    唯一缺少的功能是最新的 scala eclipse 插件中的新 scala 调试器,该插件尚未集成。因此,例如,要调试地图,您将不得不浏览 Map.scala、ArrayBuffer.scala、Object.scala 等文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-14
      • 1970-01-01
      • 2013-01-22
      • 2017-03-18
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多