繁体   English   中英

如何将Scala,Groovy和Java代码与Gradle结合使用?

[英]How can I use a combination of Scala, Groovy, and Java code with Gradle?

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

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

看看gradle-android wiki,我发现sourceSet不适用于Android Studio(得到“R redefined”错误)。

我在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.

好吧,这可能不是您正在寻找的答案,但AFAIK,将Groovy移植到Android已经尝试了两次并且从未完成。 今年夏天有一个GSoC主张 ,但我不知道它是否已被选中。 这意味着没有Groovy代码可以在Dalvik VM上运行,当然gradle也无法做任何事情。

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

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

关于Groovy,Sensei的答案对我来说似乎很好。

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

然后你需要一个插件。

我试过其中两个:

第二个有一个很好的tuto,但与Intellij Idea不能很好地工作。

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

我知道在SBT上有第三个支持Android的插件,但据我所知,dev已经停止了。

希望它会对你有所帮助。

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM