Scala Программирование для Android

Я следовал за учебником в Scala и Android с Scala 2 7. 3 финал. Получившееся приложение для Android работает, но даже самое простое приложение занимает несколько минут (! ) для компиляции и требует сжатие 900 Кбайт , что является пробкой для мобильных приложений Кроме того, в среде IDE время от времени не хватает памяти. Я предполагаю, что dex не предназначен для больших библиотек, таких как scala-library.

  • Итак, мой вопрос: кто-нибудь на самом деле сделал это и есть ли лекарство от этого?
вопрос задан 24.01.2009
Lemmy
1812 репутация

9 ответов


  • 125 рейтинг

    Я написал несколько базовых приложений для Android на Scala, ничего особенного. Не будучи Java-программистом, мне предложили использовать "treehake", мне объяснил друг, что это убирает все ненужные библиотеки из файлов jar

    Я не задокументировал это, но обнаружил, что кто-то другой уже имеет:

    http: // chneukirchen. орг / блог / Архив / 2009/04 / Программирование-для-андроид-с-Скале. HTML

    Proguard - не единственное решение, вы можете найти что-то, что подходит для вашего рабочего процесса или больше подходит для вашей среды.

    Кроме того, Google только что реализовал JACK, который имеет дело со значительным сокращением времени сборки и памяти. андроид. ком / источник / гнездо. HTML

    ответ дан Sam Cogan, с репутацией 1532, 20.04.2009
  • 43 рейтинг

    Теперь вы можете использовать плагин Android для Gradle для создания приложений Android в Scala. Он включает в себя инструмент ProGuard для обрезки жира из итогового файла APK, поэтому, кажется, соответствует вашим потребностям.

    http: // wiki. GitHub. com / jvoegele / gradle-android-plugin /

    ответ дан Jason Voegele, с репутацией 1643, 12.04.2010
  • 21 рейтинг

    Существует также плагин для компоновщика, основанного на Scala.

    ответ дан Jan Berkel, с репутацией 2933, 17.06.2010
  • 18 рейтинг

    Инструкции и примеры см. Также на странице «Исследование Android» Стефана Мишеля: http: // lamp. EPFL. ch / ~ michelou / android /

    ответ дан Lukas Rytz, с репутацией 1359, 14.07.2010
  • 13 рейтинг

    Я проверил это подробное решение с Eclipse 3. 7, Скала 2. 10 и плагин AndroidProguardScala v50:

    https: // stackoverflow. com / a / 11084146/1287856

    Все отлично работает. Простое тестовое приложение с масштабированным основным классом активности занимает всего 38 КБ. Библиотечные проекты поддерживаются. Proguard активируется при экспорте проекта.

    ответ дан Mikaël Mayer, с репутацией 6520, 18.06.2012
  • 6 рейтинг

    Разработка приложений для Android для Scala постоянно развивается. Текущий лучший способ сделать это, кажется, SBT в сочетании с android-sdk-plugin , который поддерживается * и хорошо работает для меня в моем проекте Scala / Android. Несколько недавний пример, который демонстрирует использование этого плагина с уже упомянутым Scaloid, может быть также найден

    Обратите внимание, что этот вопрос является типичным примером вопроса с устаревшими ответами о переполнении стека. Этот ответ, скорее всего, тоже устареет.

    * Другие проекты на основе SBT, упомянутые в этой ветке ответов, по-видимому, не имеют кода, написанного для них за последние шесть месяцев на момент написания. У них могут быть проблемы совместимости с более новыми версиями Scala и SBT.

    ответ дан DCKing, с репутацией 3178, 26.05.2014
  • 6 рейтинг

    Если вы используете maven, используйте android-scala-test в качестве шаблона запуска. Это отлично работает для меня из коробки.

    Scaloid - это оболочка Android API, написанная на Scala, которая поможет вам написать программу для Android в стиле Scala.

    ответ дан pocorall, с репутацией 627, 15.10.2012
  • 4 рейтинг

    Вы можете использовать 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-плагин /

    ответ дан mikowiec, с репутацией 301, 7.12.2013
  • 2 рейтинг

    Самая большая проблема со Scala на Android - это время компиляции.

    Возможно, из-за разборки классов класса Proguard с плагином IDEA13 / Scala на двухъядерном (8-CPU) процессоре E5450 Xeon с 8 ГБ может занять две минуты и более.

    Я просто вернулся к Java после завершения большого проекта Scala Android, так как время компиляции было слишком удручающим.

    ответ дан DCKing, с репутацией 3178, 1.10.2014