AndroidでJava8環境 2016
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 'me.tatarka:gradle-retrolambda:3.2.5' } } 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にすればいけます