Tiempo de construcción largo con sbt android-plugin
He creado una aplicación de demostración con el sbt android-plugin.
La aplicación es muy simple. He colocado un archivo MainActivity.java
en /src/main/java/my/package/
y cuando se presiona un botón, lo llevará a una segunda Activity
pero se realizará en Scala
.
- ¿Cómo excluir dependencias transitivas de otro subproyecto en compilaciones multiproyecto?
- Casting un objeto java a objeto en Scala
- Transformación de datos de un almacenamiento en tiempo de ejecución a una clase de caso
- ¿Qué hay en scala-android.jar?
- No se puede encontrar el método en la actividad
Todo está funcionando bien, pero los tiempos de construcción me están matando. Cuando modifico algo, lo ejecuto en mi dispositivo mediante:
> Android: paquete-depuración
> Android: dispositivo de arranque
Mi problema es que se necesita casi un minuto completo para construir un proyecto de dos actividades. ¿Hay otra forma de compilar y ejecutar?
Esta es mi salida de android: package-debug
> Android: package-debug [info] Escrito /Users/macarse/Documents/demo/target/src_managed/main/scala/my/package/TR.scala [info] Compilando 1 fuente de Scala a / Users / macarse / Documents / demo /target/scala-2.9.0-1/classes … ProGuard, versión 4.6 ProGuard está disponible bajo la GNU General Public License. Por lo tanto, debe asegurarse de que los programas que enlazan con él (scala, …) llevan también la GNU General Public License. Como alternativa, puede solicitar una excepción con el autor de ProGuard. Directorio de programa de lectura [/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes] Programa de lectura jar [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala -library.jar] (filtrada) Biblioteca de lectura jar [/Users/macarse/Documents/android-sdk-mac_86/platforms/android-4/android.jar] Nota: ¡Está ignorando todas las advertencias! Preparación del frasco de salida [/Users/macarse/Documents/demo/target/classes.min.jar] Copia de recursos del directorio de programas [/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes] Copia de recursos Desde el programa jar [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala-library.jar] (filtrado) [info] Dexing / Users / macarse / Documents / demo / target / classes. Dex [info] Packaging /Users/macarse/Documents/demo/target/demo-0.1.apk [success] Tiempo total: 56 s, completado el 29 de octubre de 2011 16:22:54
- Android, scala y eclipse = mezcla inestable
- Dependencia no resuelta en sbt-android-plugin 0.6.0-SNAPSHOT?
- Guardando colección extranjera en ORMLite con Robospice y Scala
- ¿Cómo se pueden reducir las aplicaciones scala para Android en tamaño de archivo?
- Plugin scala-android
- RxJava: encadenamiento de observables
- Groovy, Scala, Clojure, etc scripts en Android
- Android sin Java
Hay un par de opciones:
- Preinstalar scala en el teléfono / emulador
- Incluir scala predexed como una biblioteca
También hay un proyecto llamado treeshaker para Eclipse que es mucho más rápido que proguard, pero no está integrado con el plugin sbt todavía.
Se necesita mucho tiempo porque proguard necesita procesar la biblioteca estándar de Scala para minimizar el archivo .apk que obtiene, y la biblioteca estándar de Scala es enorme.
Le sugeriré que cambie a Scala 2.8 si no usó las características de Scala 2.9, porque 2.8 tiene una biblioteca estándar más pequeña.
Por otro lado, no utilice android:package-debug
cuando no sea necesario. compile
compilará su código fuente, es suficiente si sólo quiere asegurarse de que su programa podría ser compilado.
Sólo usa android:package-debug
cuando estés a punto de probarlo en el dispositivo Android, esto te ahorrará tiempo.
- El comando de cambio de velocidad falla cuando el flujo de audio no está presente en el video – ffmpeg
- Eliminación de AdMob de la aplicación en Android Studio