Eu segui o tutorial no Scala e Android com o Scala 2.7.3 final. O aplicativo Android resultante funciona, mas mesmo o aplicativo mais básico leva vários minutos (!) Para compilar e precisa de 900 kb compactados, o que é uma barreira para aplicativos móveis. Além disso, o IDE fica sem memória de vez em quando. Presumo que dex
não é feito para grandes bibliotecas como o scala-library
.
- Então, minha pergunta é: alguém realmente fez isso e existe alguma cura para isso?
Agora você pode usar o plug-in Android do Gradle para criar aplicativos Android no Scala. Ele incorpora a ferramenta ProGuard para cortar a gordura do arquivo APK resultante, portanto, parece atender às suas necessidades.
https://github.com/jvoegele/gradle-android-plugin/wiki
fonte
Há também um plug-in para o construtor baseado em Scala sbt : sbt-android-plugin .
fonte
Para tutoriais e exemplos, consulte também a página "Explorando o Android" de Stéphane Micheloud: http://lamp.epfl.ch/~michelou/android/
fonte
Eu verifiquei esta solução detalhada com o Eclipse 3.7, Scala 2.10 e o plug-in AndroidProguardScala v50:
https://stackoverflow.com/a/11084146/1287856
Tudo funciona bem. Um aplicativo de teste simples com classe de atividade principal com escala de apenas 38Kb. Projetos de bibliotecas são suportados. O programa é ativado ao exportar o projeto.
fonte
O desenvolvimento de aplicativos Android para Scala está em constante evolução. A melhor maneira atual de fazer isso parece para o SBT em conjunto com o android-sdk-plugin , que é mantido * e funciona bem para mim no meu projeto Scala / Android. Um exemplo um pouco recente que demonstra o uso deste plugin com o Scaloid já mencionado também pode ser encontrado .
Observe que esta pergunta é um exemplo típico de uma pergunta com respostas desatualizadas no Stack Overflow. Essa resposta provavelmente ficará desatualizada em algum momento também.
* Os outros projetos baseados no SBT mencionados neste tópico de resposta não parecem ter código escrito para eles nos últimos seis meses no momento da redação. Eles podem ter problemas de compatibilidade com as versões mais recentes do Scala e SBT.
fonte
Se você usa o maven, use o android-scala-test como modelo de inicialização. Funciona muito bem para mim imediatamente.
O Scaloid é um wrapper de API do Android escrito em Scala que ajuda você a escrever seu programa Android no estilo Scala.
fonte
Você pode usar o Scala no Android sem o SBT, construído externamente pela Gradle para criar aplicativos Android. https://github.com/yareally/android-scala-intellij-no-sbt-plugin
Gradle é uma ferramenta de construção mais nativa para android que o SBT.
Há um bom exemplo do conceito de solução para cliente e servidor Scala e da ferramenta de criação de gradientes como avanço para o ambiente de trabalho IntelliJ IDEA.
Grande avanço que as classes principais são comuns para cliente e servidor.
https://github.com/ghik/akkdroid
Bom tutorial para o IDEA e o plug-in android: http://fxthomas.github.io/android-plugin/
fonte
O maior problema do Scala no Android é o tempo de compilação.
Possivelmente, devido à classe Proguard, a remoção de compilações com o plug-in IDEA13 / Scala em um E5450 Xeon com 8GB de núcleo quádruplo (8 CPUs) com 8 GB pode levar dois minutos ou mais.
Eu simplesmente voltei para Java depois de concluir um grande projeto Scala Android, pois os tempos de compilação eram muito frustrantes.
fonte