我用sbt android-plugin创建了一个演示应用程序。
该应用程序非常简单。
我在MainActivity.java
下放置了一个/src/main/java/my/package/
文件,当按下一个按钮时,您将转到第二个Activity
但在Scala
中完成。
一切正常,但构建时间正在扼杀我。 当我修改我在设备中运行的东西时使用:
>机器人:包调试
>机器人:启动设备
我的问题是,建立一个两个活动项目几乎需要一分钟。 还有另一种编译和运行方式吗?
这是我输出的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 General下发布的 公共许可证。因此,您必须确保链接到的程序 它(scala,...)也带有GNU通用公共许可证。 或者,您可以向作者申请例外 ProGuard的。阅读程序目录 [/Users/macarse/Documents/demo/target/scala-2.9.0-1/classes]阅读 程序罐 [/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] 注意:你忽略了所有警告!准备输出罐 [/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]德兴 /Users/macarse/Documents/demo/target/classes.dex [info]打包 /Users/macarse/Documents/demo/target/demo-0.1.apk [success]总计 时间:56秒,2011年10月29日下午4:22:54完成
答案 0 :(得分:5)
有几种选择:
还有一个名为treeshaker for Eclipse的项目比proguard快很多,但它还没有与sbt插件集成。
答案 1 :(得分:3)
这需要很长时间,因为proguard需要处理Scala标准库以最小化您获得的.apk文件,并且Scala标准库非常庞大。
如果你没有使用Scala 2.9的功能,我建议你切换到Scala 2.8,因为2.8有一个较小的标准库。
另一方面,请勿在不需要时使用android:package-debug
。 compile
将编译您的源代码,如果您只想确保您的程序可以编译就足够了。
当您要在Android设备上测试时,只能使用android:package-debug
,这样可以节省您的时间。