RxAndroidとRetrolambdaで大体Java8をAndroidに持ち込む - visible trueから1年以上経過して界隈も色々更新されていってます。ということでイマドキのJava8環境構築をメモします。
バックポートライブラリとJava8の機能
バックポートライブラリとそのライブラリがカバーするJava8の機能を列挙します
- Retrolambda or Jack
- Lightweight-Stream-API
- Stream API
- Optional
- ThreeTenABP
- Date and Time API
実現不可の機能
次の機能はバックポートライブラリ等では実現不可能です*1。
- interfaceのデフォルト実装
- interfaceのstaticメソッド
build.gradle
次の設定はRetrolambdaを使っています。そのまんまコピペでは使えないと思うので適切な場所にコピーしてください。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.4.3'
}
}
apply plugin: 'me.tatarka.retrolambda'
dependencies {
compile 'com.annimon:stream:1.0.9'
compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'
}
まとめ
結構イケるねJava8。
*1:一応minSdkVersionを24にすればいけます