2011-10-29 34 views
9

sbt android-pluginでデモアプリケーションを作成しました。sbt android-pluginでビルド時間が長い

アプリはとてもシンプルです。 MainActivity.javaファイルを/src/main/java/my/package/の下に置き、ボタンを押すと、Activityの2番目の番号になりますが、Scalaで完了しました。

すべてがうまくいきますが、ビルド時間が私を殺しています。 私は私が使用してデバイスで実行何かを変更する場合:

>アンドロイド:パッケージ・デバッグ

>アンドロイド:起動デバイス

私の問題は、それがほぼ完全分かかることです2つの活動プロジェクトを構築する。 コンパイルと実行の別の方法はありますか?パッケージ・デバッグ

>アンドロイド:パッケージ・デバッグ[情報]書いた /ユーザ/ macarse /ドキュメント/デモ/ターゲット/ src_managed /メイン/スカラ座/私/

これはアンドロイドの私の出力でありますパッケージ/ 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] プログラムジャーを読む [/Users/macarse/.sbt/boot/scala-2.9.0-1/ lib/scala-library.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] ]プログラムジャーの のコピー [/Users/macarse/.sbt/boot/scala-2.9.0-1/lib/scala-library.jar] (フィルタリング)[情報] Dexing /Users/macarse/Documents /demo/target/classes.dex [info]パッケージ化 /Users/macarse/Documents/demo/target/demo-0.1.apk [成功]合計 時間:56秒、完了2011年10月29日4:22:54 PM

答えて

3

プロガードが処理する必要があるため時間がかかりますScalaの標準ライブラリは、取得する.apkファイルを最小限に抑え、Scalaの標準ライブラリは膨大です。

2.8が標準ライブラリより小さいので、Scala 2.9の機能を使用しなかった場合は、Scala 2.8に切り替えることをお勧めします。

一方、不要な場合はandroid:package-debugを使用しないでください。 compileはあなたのソースコードをコンパイルしますが、あなたのプログラムをコンパイルできるかどうかだけで十分です。

android:package-debugをAndroid搭載端末でテストする場合にのみ使用してください。これにより時間が節約されます。

+0

ご返信ありがとうございます。 AFAIKコンパイルもproguardパスを実行するので、時間がかかります。 – Macarse

+1

少なくとも、android-plugin 0.6.xでは正しくありません。 'コンパイル'はプロガードパスを行いません。 –

関連する問題