9

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

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

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

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

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

我的项目截图在这里

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

我认为将 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.
4

2 回答 2

4

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

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

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

于 2013-08-14T16:09:14.613 回答
2

关于 Groovy,老师的回答对我来说似乎很好。

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

然后你需要一个插件。

我已经尝试了其中两个:

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

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

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

希望它会帮助你。

问候

于 2013-11-11T19:04:20.697 回答