前回の更新 (6 月 25 日からのビルド) 以来、Android スタジオ Gradle の変更は非常に遅くなりました。また、ファイルを編集してキーアップ時に再コンパイルすると、変更が自動追跡されるようです。
i5 では、各変更に数分かかります。
Gradleの変更をスピードアップする方法はありますか?
前回の更新 (6 月 25 日からのビルド) 以来、Android スタジオ Gradle の変更は非常に遅くなりました。また、ファイルを編集してキーアップ時に再コンパイルすると、変更が自動追跡されるようです。
i5 では、各変更に数分かかります。
Gradleの変更をスピードアップする方法はありますか?
間違いなく違いを生む: How To… Gradle のビルド時間を短縮する
gradle.properties
次のディレクトリに名前の付いたファイルを作成するだけです。
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
次の行をファイルに追加します。
org.gradle.daemon=true
この設定を変更すると、コンパイル時間が 10 分から 10 秒に短縮されました。
ステップ1:
設定(ctrl+Alt+S) ->
ビルド、実行、デプロイ ->
コンパイラ ->
--offline
コマンドライン オプション ボックスに「 」と入力します。
ステップ2:
「独立したモジュールを並行してコンパイルする」チェックボックスをオンにします。
& クリック 適用 -> OK
ステップ 3: gradle.properties ファイルに -> 次の行を追加します。
org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true
アップデート:
Android Studio 2.0 以降を使用している場合は、Instant Run をお試しください
設定 → ビルド、実行、デプロイ → Instant Run → Instant Run を有効にします。
Instant Run の詳細 - https://developer.android.com/studio/run/index.html#instant-run
Android Studio 2.1 では、「Dex In Process」を有効にしてアプリのビルドを高速化できます。
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
オフライン作業を有効にする
次のコードを追加して、Gradle のパフォーマンスを改善します。gradle.properties
org.gradle.daemon=true
org.gradle.parallel=true
ステップ バイ ステップ ガイド: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html
コマンド ラインを使用してパフォーマンスを向上させることもできます。Linux<task name>
のプロジェクトのルート フォルダー内からコマンド ./gradlew を使用するか<task name>
、特定の Gradle に対して上記のコマンドのいずれかを最初に実行するときに、gradlew のような gradlew.bat ファイルを使用できます。バージョンに対応する Gradle ディストリビューションをダウンロードし、それを使用してビルドを実行します。
ラッパーを介して Gradle プロジェクトをインポートする場合、IDE は Gradle の「すべての」ディストリビューションを使用するように要求する場合があります。これはまったく問題なく、IDE がビルド ファイルのコード補完を提供するのに役立ちます。これは、自分で Gradle を手動でインストールする必要がないことを意味するだけでなく、ビルドが設計されたバージョンの Gradle を確実に使用できることを意味します。これにより、履歴ビルドの信頼性が向上します。詳細については、Wrapper を使用したビルドの実行を参照してください。
Drawable フォルダーを右クリックし、png/jpg 画像を webp 形式に変換すると、gradle が大幅に改善されました
Android開発者ドキュメントから:
JVM ガベージ コレクタを構成します。ビルド時間が 2 ~ 4 秒に短縮されました
gradle.properties ファイル
org.gradle.jvmargs=-Xmx1536m -XX:+UseParallelGC
プロジェクトで multidex を有効にした場合によく発生します。これにより、開発プロセスが遅くなる可能性があります!! よるドキュメント:
ビルド システムは、どのクラスをプライマリ DEX ファイルに含める必要があるか、どのクラスをセカンダリ DEX ファイルに含めることができるかについて複雑な決定を下す必要があるため、multidex 構成ではビルド処理時間が大幅に長くなります。つまり、multidex を使用したインクリメンタル ビルドは通常、時間がかかり、開発プロセスが遅くなる可能性があります。
しかし、これを最適化できます:
より長い増分ビルド時間を軽減するには、プレデクシングを使用して、ビルド間でマルチデックス出力を再利用する必要があります。
Android Studio 2.3 以降を使用している場合、Android 5.0 (API レベル 21) 以降を実行しているデバイスにアプリをデプロイするときに、IDE は自動的にこの機能を使用します。
したがって、 minSdkVersion を 21 以上に設定する必要があります。
ただし、製品バージョンで 21 未満の minSdkVersion をサポートする必要がある場合、たとえば 19
productFlavors を使用して、開発バージョンの minSdkVersion 21 を設定できます。
android {
defaultConfig {
...
multiDexEnabled true
// The default minimum API level you want to support.
minSdkVersion 15
}
productFlavors {
// Includes settings you want to keep only while developing your app.
dev{
//the IDE automatically uses pre-dexing feature to mitigate longer incremental when deploying your app to a device running Android 5.0 !
minSdkVersion 21
}
prod {
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.3'
}