Я следовал руководству по Scala и Android с финалом Scala 2.7.3 . Получившееся Android-приложение работает, но даже самое простое приложение занимает несколько минут (!) Для компиляции и нуждается в сжатии 900 Кб , что является пробкой для мобильных приложений. Кроме того, в среде IDE время от времени не хватает памяти. Я полагаю dex
, не для больших библиотек, таких как scala-library
.
- Итак, мой вопрос: кто-нибудь на самом деле сделал это и есть ли лекарство от этого?
Теперь вы можете использовать плагин Android для Gradle для создания приложений Android в Scala. Он включает в себя инструмент ProGuard для обрезки жира из получающегося файла APK, поэтому, кажется, соответствует вашим потребностям.
https://github.com/jvoegele/gradle-android-plugin/wiki
источник
Существует также плагин для строителя на основе Scala sbt : sbt-android-plugin .
источник
Учебные пособия и примеры см. Также на странице «Изучение Android» Стефана Мишельда: http://lamp.epfl.ch/~michelou/android/
источник
Я проверил это подробное решение с Eclipse 3.7, Scala 2.10 и плагином AndroidProguardScala v50:
https://stackoverflow.com/a/11084146/1287856
Все отлично работает Простое тестовое приложение с масштабированным основным классом активности занимает всего 38 КБ. Библиотечные проекты поддерживаются. Proguard активируется при экспорте проекта.
источник
Разработка приложений для Android для Scala постоянно развивается. Текущий лучший способ сделать это, кажется, SBT в сочетании с android-sdk-plugin , который поддерживается * и хорошо работает для меня в моем проекте Scala / Android. Несколько недавний пример, демонстрирующий использование этого плагина с уже упомянутым Scaloid, также может быть найден .
Обратите внимание, что этот вопрос является типичным примером вопроса с устаревшими ответами о переполнении стека. Этот ответ, скорее всего, тоже устареет.
* Другие проекты, основанные на SBT, упомянутые в этой ветке ответов, по-видимому, не имеют написанного для них кода за последние шесть месяцев на момент написания. Они могут иметь проблемы совместимости с более новыми версиями Scala и SBT.
источник
Если вы используете maven, используйте android-scala-test в качестве шаблона запуска. Это прекрасно работает для меня из коробки.
Scaloid - это Android API-оболочка, написанная на Scala, которая поможет вам написать программу для Android в стиле Scala.
источник
Вы можете использовать Scala на Android без SBT, он построен с помощью Gradle для создания приложений Android. https://github.com/yareally/android-scala-intellij-no-sbt-plugin
Gradle - более родной инструмент для сборки Android, чем SBT.
Есть хороший пример концепции клиентского и серверного решения Scala, а также инструмент построения Gradle в качестве усовершенствования для IntelliJ IDEA.
Большой прогресс в том, что основные классы являются общими для клиента и сервера.
https://github.com/ghik/akkdroid
Хороший учебник для IDEA и Android-плагин: http://fxthomas.github.io/android-plugin/
источник
Самая большая проблема со Scala на Android - это время компиляции.
Возможно, из-за разборки классов класса Proguard с плагином IDEA13 / Scala на двухъядерном (8-CPU) Eee5050 Xeon с 8 ГБ может потребоваться две минуты и более.
Я просто вернулся к Java после завершения крупного проекта Scala Android, так как время компиляции было слишком удручающим.
источник