LoginSignup
24
26

More than 5 years have passed since last update.

Androidのビルドを高速化するあれこれ

Last updated at Posted at 2015-11-11

※効果はプロジェクトや環境によって異なるので参考程度に

gradle.propertiesの設定

gradle.properties
# JVMのメモリ設定
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# 並列ビルド
org.gradle.parallel=true

# デーモン(CIではOFFにした方がいいらしい)
org.gradle.daemon=true

# オンデマンド
org.gradle.configureondemand=true


あんまり効果ありませんでした。

Gradleのバージョンを上げる

Gradle 2.2.1を使っていたので最新の2.8にあげてみました。2.4で高速化が入ってるらしいです。

gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
# ここを2.8にする
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip

まあまあ効果ありました。

Google Play Servicesを必要なものだけリンクする

Google Play Services は6.5から必要なパッケージだけリンクできるようになってます。必要な物だけ使うことで、無駄なクラスをビルドしなくてよくなります。
参考:https://developers.google.com/android/guides/setup

app/build.gradle
// before
// compile 'com.google.android.gms:play-services:8.3.0'

// after
compile 'com.google.android.gms:play-services-auth:8.3.0'
compile 'com.google.android.gms:play-services-base:8.3.0'
compile 'com.google.android.gms:play-services-appindexing:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-maps:8.3.0'

結果的には、これが一番効果ありました。

multidexを使っている場合、minSdkVersion=21にする

こちらの記事に書いてある通り、multidexを使っている場合はminSdkVersionを21以上にするとビルドが高速化されます。

android {
    productFlavors {
        dev {
            // 開発時はこちら
            minSdkVersion 21
        }
        prod {
            // リリース時はこちら
            minSdkVersion 15
        }
    }
    ...
}

コマンドラインのDebugビルドで3分15秒かかっていたのが、2分18秒に短縮されました。

24
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
26