Android お手軽なビルド時間の短縮メモ

何回もググってるのでメモ.
ファイル別コピペ用.

build.gradle

mavenCentral() でなく jcenter() を使う.
[File] - [Project Structure] - [Project]
Project_Structure

buildscript {
  repositories {
    jcenter()
  }
...
allprojects {
  repositories {
    jcenter()
  }
}

gradle.properties

メモリ調整など.
[Preferences] - [Build] - [Compiler]
Preferences_and_gradle-wrapper_properties

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.configureondemand=true

gradle-wrapper.properties

Gradle は最新版を使う.
[File] - [Project Structure] - [Project]
Project_Structure

#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

その他

- ライブラリをオフライン
- profile でチェック
- assemble exclude

随時更新していこう.

Speeding up Gradle builds


Android Studio「Instant Run」の適用範囲や条件

実際使ってみると, 編集したコードが反映されたりされなかったり.

でも確かに高速なときもある.

効果的に高速で動作してくれるためのコードの編集範囲・条件は何なのか.

Instant_Run_-_Android_Tools_Project_Site

Instant Run - Android Tools Project Site

分かりづらいので表に.

instantrun

なんだか...

it seems that this feature is not perfectly stable yet : sometimes the modified code is marked as “pushed” whereas the modification is not really applied on the emulator. It is currently stable when it comes to hot resources or xml file swapping. It is really a great improvement, as we generally have to perform numerous incremental builds when we are tuning our xml files.

Reduce your Android build duration | OCTO talks !

みんなも上手に「Instant Run」を使って高速にアプリを開発しよう!!


Android Studio の ビルド がやけにトロい

イライラすぎるので キンキンに調べてやろうと, でまずぐぐって糸口.

gradle.properties ファイルを変更
gradle をオフラインモードに変更

Android Studioのgradleビルドを高速化する - Qiita

org.gradle.jvmargs=-Xmx10248m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError - Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.configureondemand=true

[AndroidStudio] 機能実装のビルド時間を減らしたい

.gradle/gradle.propertiesに
org.gradle.daemon=true
と書いておけばGradleデーモンが使われるので立ち上がりが速くなる、というのはあちこちに書いてあるが、実はGradleデーモンが使われていない可能性がある。

また、Gradleの引数が一致していない場合には、IntelliJのSettings->Gradle->Gradle VM Optionsの値を、手動で起動したGradleと合わせておく必要がある。私の場合には、以下を設定してある。
-XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m

夜でもアッサム: AndroidのGradleでのビルドが遅いのをちょっと速くする

Android開発を爆速にする10のコマンドラインスクリプト - クックパッド開発者ブログ

Android/Gradleのビルド高速化実験 #potatotips - diary ichigotake

いろんな方法があるようなので gradle.properties の方法をまずは.

プロジェクトによってあったりなかったりした, gradle.properties.

別プロジェクトからコピーしてくるか, ユーザーガイドサンプルにもある.

~/.gradle $ find . -name gradle.properties

プロジェクトディレクトリの直下に以下1行だけコメントインしたものを置いて,

# Project-wide Gradle settings.                                                                                                                                 

# IDE (e.g. Android Studio) users:                                                                                                                              
# Gradle settings configured through the IDE *will override*                                                                                                    
# any settings specified in this file.                                                                                                                          

# For more details on how to configure your build environment visit                                                                                             
# http://www.gradle.org/docs/current/userguide/build_environment.html                                                                                           

# Specifies the JVM arguments used for the daemon process.                                                                                                      
# The setting is particularly useful for tweaking memory settings.                                                                                              
# Default value: -Xmx10248m -XX:MaxPermSize=256m                                                                                                                
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.                                                                                                 
# This option should only be used with decoupled projects. More details, visit                                                                                  
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects                                                                 
# org.gradle.parallel=true

ビルドしてみたら, 数十秒かかってたのが 2秒くらいになったけど.

gradle.properties

なんでかな(笑)

わたしは今までなにをしてたのかな(笑)

75%速度向上という Gradle 3.0 を Android Studio で試す

【Android Studio】idea.vmoptions の設定

オプションに「–profile」をつけて Run時間が1分から2秒になった話

Android お手軽なビルド時間の短縮メモ