【问题标题】:How can I use a combination of Scala, Groovy, and Java code with Gradle?如何将 Scala、Groovy 和 Java 代码与 Gradle 结合使用?
【发布时间】:2013-07-19 14:34:53
【问题描述】:

最近我正在尝试使用 Android Studio 制作一些 Android 应用。

内置的 Gradle 插件是否支持结合使用 Java、Groovy 和 Scala 代码来构建 Android 应用程序?

查看gradle-android wiki,我发现sourceSet 不适用于Android Studio(出现“R 重新定义”错误)。

我在 Android Studio 中使用默认的 Gradle Wrapper 方式。

如何在我的 Android Studio 项目中混合使用 Scala、Groovy 和 Java 代码?

我尝试向 build.gradle 添加一些指令(例如使用 apply pluginsourceSets),但它们似乎不起作用。

我认为将诸如 homeactivity.java 之类的代码更改为 homeactivity.groovy 可能会奏效,但我还没有找到这样做的方法。

当我取消注释 sourceSets 块时,我收到以下错误消息:

Gradle: A problem occurred evaluating project ':AgricolaScore'.
> Could not find method groovy() for arguments [build_3cmthdr3hv9648pq38oficf549$_run_closure3_closure6_closure8_closure10@15f565e7] on source set main.

【问题讨论】:

  • @dmahapatro,我能做些什么来把这个问题“搁置”到正常??
  • 您可以编辑问题以解决其主要基于意见的问题。有关“暂停”含义的更多帮助,您应该查看帮助中心的this 相关页面(可以通过单击顶部栏中的“帮助”访问)。
  • 他已经编辑了问题;怎么办?诚然,这些修改是相当小的。

标签: scala groovy gradle android-studio


【解决方案1】:

嗯,这可能不是您要寻找的答案,但是 AFAIK,将 Groovy 移植到 Android 已经尝试了两次,但从未完成。今年夏天有一个GSoC proposition,不知道有没有被捡到。这意味着目前还没有 groovy 代码可以在 Dalvik VM 上运行,当然 gradle 对此也无能为力。

我对 Scala 了解不多,但看起来 Scala 代码可以编译为在 Dalvik 上运行,所以你应该有更多的运气。以this 为例,使用Scala Build Tool 为Android 构建。

编辑:这需要编辑,因为最近事情发生了变化:最后一个 gr8conf 看到了 Cédric Champeau 引入的grooid,它允许在 android 上运行 groovy 代码。耶!

【讨论】:

【解决方案2】:

关于 Groovy,我觉得 Sensei 的回答很好。

关于 Scala,你确实需要用 SBT 替换 Gradle 来进行依赖管理。

那么你需要一个插件。

我已经尝试了其中两个:

第二个有一个很好的教程,但与 Intellij Idea 配合得不太好。

所以我使用的是第一个。它很容易设置(阅读...阅读我)并且在同一个项目中使用 Java + Scala 并不意味着任何特殊配置。最后一次提交是 6 天(截至今天,2013 年 11 月 11 日),该项目已经两年了,所以我相信它不会很快死去。

我知道有第三个插件支持 SBT 上的 Android,但据我所知开发已停止。

希望对你有所帮助。

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 2020-11-30
    • 2021-11-03
    相关资源
    最近更新 更多