Как я могу перенести существующий проект Android на базе IDEA Scala в SBT?

3

У меня есть приложение для Android, написанное в Scala, которое я создавал с помощью IntelliJ IDEA 13, используя плагин Scala напрямую, без какой-либо другой системы сборки. Теперь проект несколько вырос, со вторым (библиотечным) модулем и некоторыми внешними библиотеками, я хотел бы перейти к правильной системе сборки с различными конфигурациями и управлением зависимостями.

Я нашел много информации об импорте существующих проектов SBT в IDEA и о запуске нового проекта SBT Android в IDEA из шаблона, но я не нашел никакой информации о настройке SBT для существующего проекта IDEA. Вся документация, которую я нашел, предполагает, что вы начинаете с нуля. Какой процесс следует выполнить для достижения этого?

  • 0
    Мне еще предстоит узнать немного больше о стеке разработки Scala / sbt / Android, но я слышал довольно много успешных историй об android-sdk-plugin, которые вы можете попробовать.
  • 1
    Если вы еще не знаете этот список рассылки: groups.google.com/forum/#!forum/scala-on-android
Показать ещё 3 комментария
Теги:
intellij-idea
sbt

1 ответ

1
Лучший ответ

Предполагая, что у вас есть традиционный (не Gradle) макет проекта для Android:

  • Резервное копирование.
  • Создайте project/plugins.sbt со следующим содержимым:

    addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.3.0-SNAPSHOT")

  • Создайте build.sbt. Здесь образец, используя support-v4 и gms. Соответственно отредактируйте.

  • Удалить intellij артефакты (*.idea, *.iml и т.д.)
  • Откройте intellij и импортируйте проект на основе sbt. (Дополнительно: Включить авто-импорт)
  • Откройте свойства проекта. Установите SDK в соответствующий Android SDK.
  • В своем модуле добавьте фасет Android. Убедитесь, что каталоги (src, gen и т.д.) Указывают на правильные пути.
  • Подключите устройство
  • sbt run

Предостережения:

  • Если вы включите авто-импорт, intellij отменит папку 'gen' как каталог сгенерированных источников. Вы должны будете пометить этот каталог как каталог для сгенерированных источников, если это произойдет.

- Обновление:

Если у вас есть многопроектная настройка, создайте build.sbt(или project/Build.scala) в своем каталоге проектов верхнего уровня.

Примеры из android-sdk-plugin:

  • 0
    Есть одна вещь, которая еще не совсем ясна. Мой проект находится в каталоге myproject , с основным модулем в myproject/myproject и каталогами src/ , res/ внутри него. Где я должен создать эти файлы SBT? В каталоге проекта, в каталоге модуля или где-то еще? А как насчет модуля библиотеки?
  • 0
    Для установки с несколькими проектами вы захотите создать один build.sbt или (project / Build.scala) в каталоге верхнего уровня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню