9

Mavenを使用してAndroidプロジェクトのコンパイルとデバイスへの展開を高速化する方法はありますか?

IntelliJ Idea で空の Android プロジェクト (「android create project」を使用してコマンド ラインから作成) のビルド時間をテストしました。「実行」ボタンを押してからデバイスでアプリを起動するまでに 4 秒かかりました。次に、Maven のサポートを追加しました。今では、ほぼ 7 秒かかります。

大規模なプロジェクトの場合は、さらに時間がかかります。たとえば、ActionBarSherlock 依存関係が追加された空のプロジェクトは、コンパイル、デプロイ、および実行に約 25 ~ 30 秒かかります。

このプロセスをスピードアップする方法はありますか?

Square 開発者 (特に Jake Wharton) からの回答を聞きたいです :) Android プロジェクトのコンパイルにはどのくらい時間がかかりますか?

4

6 に答える 6

4

私がしたいくつかのことは、私に少し改善をもたらしました:

  • デバッグ ビルドの dex 最適化をオフにする
  • ライブラリの事前デキシングをオンにします (最初のビルドは遅くなりますが、次のビルドは速くなります)。

構成は次のようなものです。

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <inherited>true</inherited>
    <configuration>
        <!-- All your current configuration -->
        <dexOptimize>false</dexOptimize>
         <dex>
            <preDex>true</preDex>
            <preDexLibLocation>/tmp/predexedLibs</preDexLibLocation>
        </dex>
    </configuration>
</plugin>

ところで、インクリメンタル コンパイラに問題があり、すべてのコードが最初から再コンパイルされるたびに、問題があると思われます。

于 2013-09-18T07:26:15.497 に答える
3

Maven 3 にはマルチスレッド ビルドがあります。少なくとも試してみたい。すでに 20 秒に達していることを考えると、あまり効果がないかもしれませんが、大規模な Maven ビルドの速度が確実に向上しました

mvn -T 4 clean install # Builds with 4 threads
mvn -T 1C clean install # 1 thread per cpu core
mvn -T 1.5C clean install # 1.5 thread per cpu core

Maven 3 での並列ビルド

于 2013-09-24T21:00:49.270 に答える
1

MAVEN_OPTS の -Xms および -Xmx オプションを高く設定してみてください。

また、アイデアのMavenが毎回jarのリポジトリをダウンロード/同期するように構成されていないことを確認してください。

また、まともなハードウェアのアップグレードを行うこともできます;-)

于 2012-11-28T15:46:21.010 に答える
0

差分変更のみをエミュレータにアップロードするツールを使用してみてください。変更されたクラスのみがデバイスにプッシュされ、時間を節約できます。ツールを試すことができます: http://www.instareloader.com/download/パスワードとして「inirwetrust」を使用します。

于 2013-11-16T00:28:59.370 に答える