IntelliJ Idea 12 + Android + Scala в настоящее время
Как мне было предложено, я пробежал несколько статей, описывающих, как заставить IntelliJ Idea и Android и Scala работать вместе, но оказалось, что все они были написаны 1 или 2 года назад. И, вероятно, что-то изменилось с тех пор, и теперь есть другие решения для достижения этой цели. Конкретно, есть новое решение https://github.com/yareally/android-scala-intellij-no-sbt-plugin для которого я не знаю, хорошо это работает или нет.
У меня есть IntelliJ Idea 12, Android SDK, Scala, SBT и все другие вещи установлены и настроены. Осталось только настроить IntelliJ Idea 12, чтобы он работал с Scala вместо Java для создания приложений Android.
пожалуйста, не закрывайте вопрос. Я видел предыдущие вопросы, похожие на мои, но, как я уже сказал, они устарели.
вопрос в том, как мне это сделать сейчас (май 2013 года)?
P. S. Я попробовал студия развития Android, но я даже не удалось запустить его из-за многих ошибок.
5 ответов:
обновление: вы можете прочитать учебник я писал о предстоящей новой версии SBT-Android (0.7). Большинство ваших проблем должны быть решены там. Если это не так, то это проблема.
обновление 2: справедливости ради, есть также большая работа в процессе:android-sdk-plugin по @pfn на GitHub.
о ProGuard и строить раз :
Я, предварительная загрузка больших библиотек на моем устройстве с
sbt-android
. Это полностью устраняет ProGuard, но требует root.
android-sdk-plugin
последняя версия имеет новый кэш ProGuard (то же самое, что и AndroidProguardScala), который довольно сладок и устраняет ProGuard в большинстве случаев во время разработки.
я внес свой вклад в SBT-Android уже несколько месяцев, так что я знаю это намного лучше чем другие решения.
на данный момент плагин развивается быстро, с :
- полная поддержка IntelliJ (благодаря SBTIdea) очень скоро (собственно, это уже работает, мне просто нужно отправить запросы)
- автоматическая предварительная загрузка Scala на эмулятор или корневое устройство (просто запустить
android:preload-{device, emulator}
, не должны быть больше необходимых для развития!)- должен поддерживать простой Gradle проекты из коробки с минимальными усилиями (структура каталогов очень похожа)
- конфигурация намного проще (просто добавьте плагин и файл проекта и все готово!)
в текущей версии нет большинства из этих тонкостей, но они появятся в следующие недели. Некоторые документы, конечно, будет следовать очень скоро после этого, с примерами и все, что я буду думать из.
Я призываю Вас присоединиться к Scala на Android Google Group и поделиться своими мыслями, кстати. Там также есть
#sbt-android
канал на Freenode, если вы находитесь в IRC.
просто хотел вмешаться в это. Я использовал https://github.com/yareally/android-scala-intellij-no-sbt-plugin, хотя я нашел инструкции расплывчатыми, никогда не использовал IntelliJ до этого.
вы, вероятно, уже все разобрали и довольны SBT, но для моих целей я просто хотел протестировать Scala на Android без всех дополнительных наворотов. Итак, вот некоторые мелочи, которые я должен был сделать, чтобы получить материал no-sbt-plugin рабочий:
в итоге я включил Scala-компилятор.банку (вместе с "Ла Скала" -библиотека.Джар и скала-размышляют.банку) в качестве глобальной библиотеки:
таким образом, компилятор имеет доступ к библиотеке и код отражения, в противном случае я получаю ошибки. Если вы не включаете библиотеку, IDE жалуется, что компилятору нужна связанная библиотека, и если вы не включаете reflect, он выплевывает кучу ошибок во время компиляции, которые он не может найти класс reflect определение.
Мне пришлось включить scala-библиотеку.jar также является зависимостью модуля (что также имело побочный эффект включения его в раздел библиотек):
прежде чем делать все это, я установил плагин Scala, создал проект Android и просто добавил фасет Scala (игнорируйте настройки памяти, я дурачился):
наконец, мне пришлось устранить некоторые оставшиеся ошибки компиляции, добавив несколько строк " - dontwarn proguard txt файл. Достаточно просто.
работает как шарм. Еще не сделал ничего существенного с ним, но с нетерпением жду использования Scala в моем следующем проекте Android.
Я написал Scaloid библиотека, которая делает разработку Android более лаконичной с помощью Scala.
для быстрого начала я написал Привет, мир проект maven для Scala + Android.
Я использую Intellij в качестве основной IDE, и он импортирует проект с шармом.
Я прошел через это около месяца назад, и мне удалось заставить его работать довольно хорошо, используя Gradle.
вот результат:https://github.com/ghik/akkdroid
Это простой клиент-серверный проект с использованием Scala и Akka, с клиентской стороны на Android, разработанный с IntelliJ IDEA. Я знаю, что клиент-сервер действительно не имеет смысла с Akka, но это всего лишь простой университетский проект, чтобы доказать, что эти технологии могут работать вместе.
обратите внимание, однако, что сценарий gradle в этом проекте предназначен только для создания проекта IDEA, он должен быть дополнительно расширен, чтобы иметь возможность выполнять правильную сборку приложений Android.
Я наблюдал за этой нитью в течение нескольких месяцев, наконец-то получил некоторое время, чтобы сделать реальные тесты.
использование IntelliJ 13 С SBT 0.13 и Scala 2.10.3.
The SBT-Android не обновлялся в течение нескольких месяцев. Я обнаружил, что инструкции устарели, и мне не удалось создать рабочий проект.
The android-sdk-plugin работали. Просто следовать простым шагам и я получил "привет мир" работает на моем телефоне. Но импорт проекта SBT в IntelliJ не будет работать должным образом, потребуются некоторые изменения проекта вручную.
Я также попытался сначала создать проект Android, а затем добавить Scala framework, но не получилось, как я ожидал.