2012-05-07 11 views
2

Androidプロジェクトにライブラリを追加するたびに、コンパイルプロセスが遅くなります。 (ライブラリ)dexファイルをキャッシュする方法はありますか?毎回アプリケーションが再コンパイルされるだけですか?理想的には、ビルドプロセスは、ライブラリJARが変更されているかどうかを確認する必要があります(既存のdexファイルを再利用する必要がない場合)。Android:プリコンパイル済みのライブラリを使用しますか?

私はnbandroidを使用していますが、私は、Eclipseのビルドが同じ問題に苦しんでいると仮定します。

答えて

0

ビルドプロセスのAndroid SDKに(特にDEXステップで)(かかわらずIDEの使用である)非常に非可撓性です。

[INFO]します。C:\ Program Files \ Javaの\ jdk1.6.0_21 \ JRE \ビン\のJava -Xmx1024M、-jar、C:dx.jar私の知る限りの唯一のコマンドの使用法は何か以下のようなものです\プログラムFiles \ Android \ android-sdk \ platform-tools \ lib \ dx.jar、--dex、--output = C:\ workspace \ myproject \ target \ classes.dex、C:\ workspace \ myproject \ target \ classes 、C:\ワークスペース\ MyProjectと\ libsに\共通lib.jar、... ...

ここからは、外部のjarライブラリとそのコンパイルされたクラスは、プロジェクトのビルド時にdexedされている見ることができます。

(ライブラリ)dexファイルをキャッシュする方法はありますか?毎回アプリケーションが再コンパイルされるだけですか?

Jarライブラリは、プロジェクトをビルドするたびにAndroid SDKによって再コンパイルされず、デク詰めされます。私はAndroid SDKがdx.jarの別のコマンド使用法を提供しているとは思わないが、外部のjarライブラリなしで準拠したクラスのみをdexし、既存のclasses.dex(おそらく前回生成したもの)にマージすることができる。

プロジェクトのビルド時には不可能ですが、これはおそらくオフトピックですが、このblogは、実行時にjarライブラリを動的にロードする方法について説明しています。

0

私は、Eclipseを使用し、ライブラリの2〜3メガバイトを持ついくつかのプロジェクトを持っている、ProGuardのと最後のAPKをコンパイルして署名する場合を除き、いかなる景気減速に気づきませんでしたよ。 Eclipseが毎回ライブラリを再コンパイルしないように見えます。

+0

私は最新のIDEとSDKを使用しています。自分のソースコードを更新した後、アプリをデバイスにプッシュするたびに外部ジャーが常にdx処理されます。 –

関連する問題