He seguido el tutorial en Scala y Android con Scala 2.7.3 final. La aplicación de Android resultante funciona, pero incluso la aplicación más básica tarda varios minutos (!) En compilarse y necesita 900 kb comprimidos, lo que es un obstáculo para las aplicaciones móviles. Además, el IDE se queda sin memoria de vez en cuando. Supongo dex
que no está hecho para grandes bibliotecas como scala-library
.
- Entonces mi pregunta es: ¿Alguien ha hecho esto realmente y hay alguna cura para esto?
Ahora puede usar el complemento de Android para Gradle para crear aplicaciones de Android en Scala. Incorpora la herramienta ProGuard para recortar la grasa del archivo APK resultante, por lo que parece satisfacer sus necesidades.
https://github.com/jvoegele/gradle-android-plugin/wiki
fuente
También hay un complemento para el constructor basado en Scala sbt : sbt-android-plugin .
fuente
Para ver tutoriales y ejemplos, consulte también la página "Explorando Android" de Stéphane Micheloud: http://lamp.epfl.ch/~michelou/android/
fuente
Verifiqué esta solución detallada con Eclipse 3.7, Scala 2.10 y el complemento AndroidProguardScala v50:
https://stackoverflow.com/a/11084146/1287856
Todo funciona bien Una aplicación de prueba simple con clase de actividad principal scalafied solo toma 38Kb. Proyectos de bibliotecas son compatibles. Proguard se activa al exportar el proyecto.
fuente
El desarrollo de aplicaciones de Android para Scala está en continua evolución. La mejor forma actual de hacerlo parece SBT en conjunto con el complemento android-sdk , que se mantiene * y funciona bien para mí en mi proyecto Scala / Android. Un ejemplo algo reciente que demuestra el uso de este plugin con el ya mencionado Scaloid puede también ser encontrado .
Tenga en cuenta que esta pregunta es un ejemplo típico de una pregunta con respuestas desactualizadas en Stack Overflow. Es probable que esta respuesta también esté desactualizada en algún momento.
* Los otros proyectos basados en SBT mencionados en este hilo de respuesta no parecen tener código escrito para ellos en los últimos seis meses al momento de la escritura. Pueden tener problemas de compatibilidad con versiones más recientes de Scala y SBT.
fuente
Si usa maven, use android-scala-test como plantilla de inicio. Funciona muy bien para mí fuera de la caja.
Scaloid es un contenedor de API de Android escrito en Scala que te ayuda a escribir tu programa de Android en estilo Scala.
fuente
Puede usar Scala en Android sin SBT, construido externamente por Gradle para crear aplicaciones de Android. https://github.com/yareally/android-scala-intellij-no-sbt-plugin
Gradle es una herramienta de construcción más nativa para Android que SBT.
Hay un buen ejemplo del concepto de solución del lado del cliente y servidor de Scala, y la herramienta de creación de gradle como avance para el banco de trabajo IntelliJ IDEA.
Gran avance de que las clases principales son comunes para el cliente y el servidor.
https://github.com/ghik/akkdroid
Buen tutorial para IDEA y el complemento de Android: http://fxthomas.github.io/android-plugin/
fuente
El mayor problema con Scala en Android son los tiempos de compilación.
Posiblemente debido a que las compilaciones de eliminación de clase Proguard con el complemento IDEA13 / Scala en un E5450 Xeon de doble núcleo cuádruple (8-CPU) con 8GB pueden tomar dos minutos o más.
Simplemente volví a Java después de completar un gran proyecto de Scala para Android, ya que los tiempos de compilación eran demasiado frustrantes.
fuente