Как я могу использовать комбинацию кода Scala, Groovy и Java с Gradle?

Недавно я пытаюсь сделать несколько приложений для Android с помощью Android Studio.

Поддерживает ли встроенный плагин Gradle использование комбинации кода Java, Groovy и Scala для создания приложения для Android?

Глядя на вики gradle-android, я обнаружил, что sourceSet не работает с Android Studio (получить ошибку «R redefined»).

Я использую способ Gradle Wrapper по умолчанию в Android Studio.

Как использовать сочетание кода Scala, Groovy и Java в моем проекте Android Studio?

Снимок экрана моего проекта здесь

Я пытался добавить некоторые директивы в build.gradle (например, используя apply plugin и 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.

person Gohan    schedule 20.07.2013    source источник
comment
@dmahapatro, что я могу сделать, чтобы этот вопрос «отложен» стал нормальным ??   -  person Gohan    schedule 22.07.2013
comment
Вы можете отредактировать вопрос, чтобы решить проблему, связанную с тем, что он в первую очередь основан на мнении. Чтобы получить дополнительную информацию о том, что означает «ожидание», посетите эту соответствующую страницу справочного центра (которая может быть доступ к которому осуществляется нажатием кнопки справки на верхней панели).   -  person Asad Saeeduddin    schedule 23.07.2013
comment
Он уже отредактировал вопрос; что теперь? Правда, правки были незначительными.   -  person tripleee    schedule 23.07.2013


Ответы (2)


Ну, это может быть не тот ответ, который вы ищете, но, насколько мне известно, портирование Groovy на Android было предпринято дважды и так и не было завершено. Этим летом было предложение GSoC, но я не знаю, было ли оно принято. . Это означает, что никакой groovy-код пока не может работать на виртуальной машине Dalvik, и, конечно же, gradle ничего не может с этим поделать.

Я мало что знаю о Scala, но похоже, что код Scala можно скомпилировать для запуска на Dalvik, так что вам должно повезти. Посмотрите это, например, чтобы использовать инструмент сборки Scala для сборки Андроид.

РЕДАКТИРОВАТЬ: Это необходимо отредактировать, так как совсем недавно все изменилось: на последнем gr8conf было представлено grooid от Cédric Champeau, который позволяет запускать groovy-код на Android. Ура !

person sensei    schedule 14.08.2013
comment
Похоже, что к работе г-на Шампо лучше всего получить доступ с помощью этого недавно обновленного плагина Android Studio github.com /groovy/groovy-android-gradle-плагин - person AnneTheAgile; 08.06.2017

Что касается Groovy, то ответ Сенсея мне кажется хорошим.

Что касается Scala, вам действительно нужно заменить Gradle на SBT для управления зависимостями.

Тогда вам нужен плагин.

Я пробовал два из них:

Второй имеет хороший туто, но не так хорошо работает с Intellij Idea.

Поэтому пользуюсь первым. Его довольно легко настроить (прочитайте... прочитайте меня), и использование Java + Scala в одном проекте не требует какой-либо специальной настройки. Последнему коммиту 6 дней (на сегодняшний день 11.11.13), а проекту два года, так что я верю, что он не скоро умрет.

Я знаю, что есть третий плагин для поддержки Android на SBT, но, насколько мне известно, разработка остановлена.

Надеюсь, это поможет вам.

С уважением

person pommedeterresautee    schedule 11.11.2013