Android Java 8言語機能 はAndroidでのみ機能api 24以降 =またはapi 24未満のAPIで使用できます。この機能を使用できる場合、apiの最小バージョン Androidサポートこれらの機能
更新:Android Studio 2.4以降、Jackコンパイラは非推奨となり、Java 8サポートが終了しますデフォルトのビルドチェーンに統合されています。一部のJava 8の機能は、どのAPIレベルでも使用できますが、一部はAPI> = 24に制限されています。以下を参照してください:
https://developer.Android.com/studio/preview/features/Java8-support.html
古い答え:
Java 8機能 は、APIレベル9以降で使用できますが、Android Studio 2.1(プレビュー)とAndroid NプレビューSDKを使用する場合のみ
http://Android-developers.blogspot.de/2016/03/first-preview-of-Android-n-developer.html
Java 8言語サポートの改善-Java 8言語機能をAndroidに導入できることを嬉しく思います。 AndroidのJackコンパイラーを使用すると、GingerbreadまでのJavaバージョンで、ラムダなどを含む多くの一般的なAndroid 8言語機能を使用できるようになります。新機能により、定型コードを削減できます。たとえば、ラムダは、イベントリスナーを提供するときに匿名の内部クラスを置き換えることができます。一部のJava 8言語機能(デフォルトおよび静的メソッド、ストリーム、関数型インターフェースなど)も、N以降で使用できるようになりました。 Jackでは、下位互換性を維持しながらJava言語をより厳密に追跡できることを楽しみにしています。
更新
Jackツールチェーンは 非推奨 です。 Androidプラグインバージョン2.4.0-alpha4以降)を使用している場合、Java8機能が標準のツールチェーンに追加されます。詳細 こちら 。
元の回答Java 8つの機能は、ラムダを除いてAPI N以降で使用できます。ラムダはバックポートされます(匿名クラスを使用)Gingerbreadに戻ります。
Android Nは、ラムダ式の実装を匿名クラスに基づいています。このアプローチにより、以前のバージョンのAndroidで下位互換性と実行性を実現できます。
これをテストするには、Android Studio 2.1プレビュー、JDK 8のインストール、最新のビルドツールが必要です。
ビルド構成の例:
Android {
compileSdkVersion 23
buildToolsVersion "24.0.0 rc1"
defaultConfig {
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}