我已经跟随Scala和Android的教程使用Scala 2.7.3 final。最终生成的Android应用程序可以工作,但即使是最基本的应用程序也需要几分钟(!)来编译,并且需要900 kb的压缩,这对于移动应用程序来说是一个显示阻塞。此外,IDE会时不时地耗尽内存。我认为dex不是为scala库这样的大型库而设计的。
所以我的问题是:有人这样做过吗?有什么治疗方法吗?
我已经跟随Scala和Android的教程使用Scala 2.7.3 final。最终生成的Android应用程序可以工作,但即使是最基本的应用程序也需要几分钟(!)来编译,并且需要900 kb的压缩,这对于移动应用程序来说是一个显示阻塞。此外,IDE会时不时地耗尽内存。我认为dex不是为scala库这样的大型库而设计的。
所以我的问题是:有人这样做过吗?有什么治疗方法吗?
当前回答
我用Eclipse 3.7、Scala 2.10和插件AndroidProguardScala v50验证了这个详细的解决方案:
https://stackoverflow.com/a/11084146/1287856
一切都很好。带有扩展的主活动类的简单测试应用程序只占用38Kb。支持图书馆项目。导出项目时激活Proguard。
其他回答
有关教程和示例,请参见Stéphane Micheloud的“探索Android”页面:http://lamp.epfl.ch/~michelou/android/
Scala在Android上最大的问题是编译时间。
可能是因为Proguard类在双四核(8-CPU) E5450 Xeon (8GB)上使用IDEA13/Scala插件编译需要两分钟或更长时间。
在完成了一个大型的Scala Android项目后,我只是回到了Java,因为编译时间太令人沮丧了。
还有一个基于scala的构建器sbt的插件:sbt-android-plugin。
我用Eclipse 3.7、Scala 2.10和插件AndroidProguardScala v50验证了这个详细的解决方案:
https://stackoverflow.com/a/11084146/1287856
一切都很好。带有扩展的主活动类的简单测试应用程序只占用38Kb。支持图书馆项目。导出项目时激活Proguard。
现在您可以使用Gradle的Android插件在Scala中创建Android应用程序。它集成了ProGuard工具来修剪结果APK文件中的赘肉,因此似乎可以满足您的需求。
https://github.com/jvoegele/gradle-android-plugin/wiki