使用sbt android-plugin编译时间长

我用sbt android-plugin创build了一个演示应用程序。

该应用程序非常简单。 我在/src/main/java/my/package/下放置了一个MainActivity.java文件,当按下button时,它会将您带到第二个Activity但是在Scala完成。

一切工作正常,但构build时间正在杀死我。 当我修改一些我在我的设备上运行使用:

> android:package-debug

> android:启动设备

我的问题是build立一个两个活动项目需要几乎一分钟的时间。 还有另一种编译和运行的方式吗?

这是我的android:package-debug的输出

> android:package-debug [info]写入/Users/macarse/Documents/demo/target/src_managed/main/scala/my/package/TR.scala [info]编译1个Scala源文件到/ Users / macarse / Documents / demo /target/scala-2.9.0-1/classes … ProGuard,版本4.6 ProGuard是在GNU通用公共许可证下发布的。 因此,您必须确保链接到它的程序(scala,…)也带有GNU通用公共许可证。 或者,您可以申请ProGuard的作者的例外。 读程序目录[/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes]读程序jar [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala -library.jar](过滤)阅读库jar [/Users/macarse/Documents/android-sdk-mac_86/platforms/android-4/android.jar]注意:你忽略了所有的警告! 准备输出jar [/Users/macarse/Documents/demo/target/classes.min.jar]从程序目录复制资源[/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes]复制资源从程序jar [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala-library.jar](过滤)[info] Dexing / Users / macarse / Documents / demo / target / classes。 dex [info]包装/Users/macarse/Documents/demo/target/demo-0.1.apk [成功]总时间:56 s,完成时间2011年10月29日下午4:22:54

Solutions Collecting From Web of "使用sbt android-plugin编译时间长"

有几个选项:

  • 在电话/模拟器上预安装scala
  • 包括预定义的scala作为一个库

还有一个名为treehaker的Eclipse项目比proguard快很多,但是它并没有和sbt插件集成。

这需要很长时间,因为proguard需要处理Scala标准库以最小化您获得的.apk文件,而Scala标准库是巨大的。

如果你没有使用Scala 2.9的特性,我build议你换成Scala 2.8,因为2.8有一个更小的标准库。

另一方面,不要使用android:package-debugcompile会编译你的源代码,只要你确定你的程序可以被编译就足够了。

只有在您要在Android设备上testing时才使用android:package-debug ,这样可以节省您的时间。