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 お手軽なビルド時間の短縮メモ


API-19 と 20+ 間を Material Design でどう跨いでいけばいいのか

Introduction_-_Material_design_-_Google_design_guidelines

とりあえず公式をみてみる.

* テーマの設定

1. Holoのようなこれまでのテーマを継承して定義する
res/values/style.xml

2. 同じ名前でテーマをMaterialテーマを継承して定義する.
res/values-v21/style.xml

3. これらのテーマを AndroidManifest.xmlでアプリに設定する.

* レイアウトの設定

21+向けのディレクトリをそれぞれ準備する
res/layout-v21/
res/values-v21/

API-21+ に対しては, 各リソースファイルを「*-v21」として新規に作成するという考え方.

これまでのUIデザインを変化させずに, 新しく OS 5.0+ の端末に対してのみマテリアルなデザインを表示させる.

その後にこう書いてる.

* サポートライブラリをセット

Theme.AppCompat を使えば いくつかのウィジェットは MaterialDesign のものを使える.

dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
}

EditText
Spinner
CheckBox
RadioButton
SwitchCompat
CheckedTextView
RecyclerView
CardView
Palette

完全ではないもののいくつかのウィジェットは appcompat-v7 で対応できる.

Lollipopを載せた端末の拡散具合や人気を考えると, OS4.x系端末でのマテリアルデザイン表示をしないと「マテリアルデザインに対応します(しました)」とうたいづらい.

よほどUIが凝ったアプリで無い限り, この appcompat-v7 ウィジェットを使って, これまで(API-19まで)のテーマに適用する, まずは.

/res/values/styles.xml

...
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...

とこれまでのテーマの親にもつ.

このあと, 微調整を行い, API-19までのUIをマテリアルなかんじに仕上げていき, そのあと *-v21 のリソースを触りながら, 気にせず Lollipop端末に向けてのマテリアル化を進めていく.

と, そんな順序が王道ではないかな...

Maintaining Compatibility | Android Developers


Android 5.0 (Lollipop) MaterialDesign を構成するGoogle発UI系サンプル動画 40個くらい

すべては, 以下にあるやつ今現在最新のサンプルUI系をLollipopで動かす.

Google_Samples

Google Samples

AndroidStudio の ImportSample のプレビューが表示されないので並べて置くと何かと便利かななどと思い.

AndroidStudio

パーツやふるまいの名前が分かればそれで良かったのでYouTubeのGIF書き出しでやろうかと思いましたが, 一般公開間近の非公開ステータス.

GIF_Beta_sign_up

Nexus6でやってます.

こんな感じで40個くらい.

以下から順不同で.

続きを読む >>