【问题标题】:How can I use Android with Java and a core made with Scala?我如何将 Android 与 Java 和使用 Scala 的核心一起使用?
【发布时间】:2012-05-07 15:07:38
【问题描述】:

我使用 Scala (SBT + IntellijIDEA) 做了一个小项目,它为我提供了一组我想在 Android 中使用的类和其他功能。我将把这个项目称为 $core。

所以,记住这一点,我首先尝试只使用 scala。我尝试使用 android-plugin 创建一个 Android 项目,我得到了它。

但我真正想要的是在 Android 项目中使用我的 $core 并使用 Java 扩展 $core 类。 $core 提供了一个我希望更多人使用的 API,他们可能不了解 Scala,因此 Java 会是完美的。此外,我需要使用 Android 进入安全路线。我看到一些信息表明 scala 需要花费大量时间才能编译到 Android 中并且有一些限制(例如使用 parceblles)。

我已经尝试通过导入类文件夹选项在 eclipse 中使用这些类。我什至尝试生成一个 jar,所以至少我有办法运行它并且没有成功。当我尝试使用 $core 中的一个类时,总是出现 NoClassDef 错误。我也尝试导入 scala 编译器库,但也没有成功...

核心尚未完成,我想在一个允许我在 android 设备上调试的单一环境中进行开发。我该如何设置所有这些?

PS:现在改成eclipse可能会更好?从未在 intellijIDEA 和 scala 上尝试过 android,我无法在那里调试,至少使用 ScalaCheck...

【问题讨论】:

    标签: java android scala intellij-idea sbt


    【解决方案1】:

    是否有可能在使用 java 中的 Scala 代码时遇到 noclassdeffound 错误,因为您没有将 Scala 库添加到 java 项目中,或者至少包含它在 Scala 代码中使用的那一部分罐子?

    你能发布其余的错误吗?

    【讨论】:

    • 其余的错误是什么意思?我通常得到的 NoClassDef 类似于:NoClassDefError : some.package.AClass was not found AClass 是我尝试在 Java 中使用的一个类,它是在 Scala 中定义的
    【解决方案2】:

    您可以将核心与 Scala 库一起打包到 .jar 中,使用 Proguard 从中删除所有未使用的 Scala 库类,然后将该 jar 用作常规库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-26
      • 2018-07-17
      • 2019-08-14
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多