Долгое время сборки с sbt android-плагином - PullRequest
9 голосов
/ 29 октября 2011

Я создал демонстрационное приложение с плагином sbt android.

Приложение очень простое.Я поместил файл MainActivity.java в /src/main/java/my/package/, и когда нажата кнопка, она переводит вас в секунду Activity, но выполняется в Scala.

Все работает нормально, но время сборки убиваетмне.Когда я что-то изменяю, я запускаю на своем устройстве, используя:

> android: package-debug

> android: start-device

Моя проблемачто для создания проекта двух действий требуется почти полная минута.Есть ли другой способ скомпилировать и запустить?

Это мой вывод android: package-debug

> android: package-debug [info] Написал / Users / macarse / Documents/demo/target/src_managed/main/scala/my/package/TR.scala [info] Компиляция 1 исходного кода Scala для /Users/macarse/Documents/demo/target/scala-2.9.0-1/classes ... ProGuard, версия 4.6 ProGuard выпущена под лицензией GNU General Public License.Поэтому вы должны убедиться, что программы, которые ссылаются на него (scala, ...), также имеют Стандартную общественную лицензию GNU.Кроме того, вы можете подать заявку на исключение с автором ProGuard.Каталог программы чтения [/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes] Фляга программы чтения [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala-library.jar] (отфильтровано) Чтение библиотеки jar [/Users/macarse/Documents/android-sdk-mac_86/platforms/android-4/android.jar] Примечание. Вы игнорируете все предупреждения!Подготовка выходного фляги [/Users/macarse/Documents/demo/target/classes.min.jar] Копирование ресурсов из каталога программы [/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes] Копирование ресурсовиз программы jar [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala-library.jar] (отфильтровано) [info] Dexing / Users / macarse / Documents / demo / target / classes.dex [info] Упаковка /Users/macarse/Documents/demo/target/demo-0.1.apk [success] Общее время: 56 с, завершено 29 октября 2011 г. 16:22:54

Ответы [ 2 ]

5 голосов
/ 31 октября 2011

Есть несколько вариантов:

Существует также проект под названием treeshaker для Eclipse , который намного быстрее, чем proguard, но еще не интегрирован с плагином sbt.

3 голосов
/ 31 октября 2011

Это занимает много времени, потому что proguard необходимо обработать стандартную библиотеку Scala, чтобы минимизировать полученный файл .apk, а стандартная библиотека Scala огромна.

Я предлагаю вам перейти на Scala 2.8, если вы этого не сделалииспользуйте возможности Scala 2.9, потому что 2.8 имеет меньшую стандартную библиотеку.

С другой стороны, не используйте android:package-debug, когда это не нужно.compile скомпилирует ваш исходный код, достаточно, если вы хотите убедиться, что ваша программа может быть скомпилирована.

Используйте android:package-debug только тогда, когда вы собираетесь протестировать ее на устройстве Android, это будетсэкономьте свое время.

...