J'ai suivi le tutoriel sur Scala et Android avec Scala 2.7.3 final. L'application Android qui en résulte fonctionne, mais même l'application la plus élémentaire prend plusieurs minutes (!) À compiler et a besoin de 900 ko compressés, ce qui est un frein pour les applications mobiles. De plus, l'IDE manque de mémoire de temps en temps. Je suppose que ce dex
n'est pas fait pour les grandes bibliothèques comme le scala-library
.
- Ma question est donc la suivante: quelqu'un a-t-il réellement fait cela et existe-t-il un remède?
Vous pouvez maintenant utiliser le plugin Android pour Gradle pour créer des applications Android dans Scala. Il intègre l'outil ProGuard pour couper la graisse du fichier APK résultant, semble donc répondre à vos besoins.
https://github.com/jvoegele/gradle-android-plugin/wiki
la source
Il existe également un plugin pour le constructeur basé sur Scala sbt : sbt-android-plugin .
la source
Pour des tutoriels et des exemples, voir aussi la page "Explorer Android" de Stéphane Micheloud: http://lamp.epfl.ch/~michelou/android/
la source
J'ai vérifié cette solution détaillée avec Eclipse 3.7, Scala 2.10 et le plug-in AndroidProguardScala v50:
https://stackoverflow.com/a/11084146/1287856
Tout fonctionne bien. Une application de test simple avec une classe d'activité principale scalafiée ne prend que 38 Ko. Les projets de bibliothèques sont pris en charge. Proguard est activé lors de l'exportation du projet.
la source
Le développement d'applications Android pour Scala est en constante évolution. La meilleure façon actuelle de le faire apparaît à SBT en conjonction avec le plugin android-sdk , qui est maintenu * et fonctionne bien pour moi dans mon projet Scala / Android. Un exemple quelque peu récent qui montre l'utilisation de ce plugin avec le Scaloid déjà mentionné peut également être trouvé .
Veuillez noter que cette question est un exemple typique d'une question avec des réponses obsolètes sur Stack Overflow. Cette réponse deviendra probablement obsolète à un moment donné également.
* Les autres projets basés sur SBT mentionnés dans ce fil de réponse ne semblent pas avoir écrit de code pour eux au cours des six derniers mois au moment de la rédaction. Ils peuvent avoir des problèmes de compatibilité avec les nouvelles versions de Scala et SBT.
la source
Si vous utilisez maven, utilisez android-scala-test comme modèle de démarrage. Cela fonctionne très bien pour moi, prêt à l'emploi.
Scaloid est un wrapper d'API Android écrit en Scala qui vous aide à écrire votre programme Android en style Scala.
la source
Vous pouvez utiliser le Scala sur Android sans SBT, il a été construit en externe par Gradle pour créer des applications Android. https://github.com/yareally/android-scala-intellij-no-sbt-plugin
Gradle est un outil de construction plus natif pour Android que SBT.
Il y a un bon exemple de concept de solution côté client et serveur Scala, et un outil de construction gradle comme une avancée pour IntelliJ IDEA workbench.
Une grande avancée: les classes de base sont courantes pour le client et le serveur.
https://github.com/ghik/akkdroid
Bon tutoriel pour IDEA et Android-plugin: http://fxthomas.github.io/android-plugin/
la source
Le plus gros problème avec Scala sur Android est le temps de compilation.
Peut-être à cause de la suppression de la classe Proguard, la compilation avec le plug-in IDEA13 / Scala sur un Dual Quad Core (8 CPU) E5450 Xeon avec 8 Go peut prendre deux minutes ou plus.
Je suis simplement retourné à Java après avoir terminé un grand projet Scala Android car les temps de compilation étaient trop frustrants.
la source