我已经跟随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库这样的大型库而设计的。
所以我的问题是:有人这样做过吗?有什么治疗方法吗?
当前回答
如果你使用maven,使用android-scala-test作为启动模板。这对我来说很有效。
Scaloid是一个用Scala编写的Android API包装器,可以帮助你以Scala风格编写Android程序。
其他回答
如果你使用maven,使用android-scala-test作为启动模板。这对我来说很有效。
Scaloid是一个用Scala编写的Android API包装器,可以帮助你以Scala风格编写Android程序。
我已经用Scala写了一些基本的Android应用程序,没有太大的史诗。我不是一个Java程序员,我被建议使用“摇树”,我的一个朋友解释说,这将从jar文件中删除所有不必要的库。
我还没有记录它,但我发现其他人已经有了:
http://chneukirchen.org/blog/archive/2009/04/programming-for-android-with-scala.html
Proguard不是唯一的解决方案,您可能会找到适合您的工作流程或更适合您的环境的解决方案。
此外,谷歌刚刚实现了JACK,它处理了相当多的减少构建和内存时间,参见https://source.android.com/source/jack.html
还有一个基于scala的构建器sbt的插件:sbt-android-plugin。
有关教程和示例,请参见Stéphane Micheloud的“探索Android”页面:http://lamp.epfl.ch/~michelou/android/
为Scala开发Android应用程序正在不断发展。目前最好的方法似乎是SBT与Android -sdk-plugin相结合,这是维护*,在我的Scala/Android项目中工作得很好。还可以找到一个最近的例子,演示了该插件与前面提到的Scaloid的使用。
请注意,这个问题是一个典型的例子,在Stack Overflow上有过时的答案。这个答案在某些时候也可能过时。
*在这个回答线程中提到的其他基于SBT的项目在撰写本文时的过去六个月里似乎没有为它们编写代码。它们可能与新版本的Scala和SBT存在兼容性问题。