Android Studio 2.4 Preview 4でリリースされ、サポートされるようになりました Java 8言語機能 。Jackは不要になり、改善された=を使用するにはJackを無効にする必要があります。 Java 8サポートがデフォルトのツールチェーンに組み込まれています。
次に、ジャックを無効にして、デフォルトのツールチェーンに切り替える必要があります。
Java 8つの機能をAndroidスタジオプロジェクトで使用できるようにするにはどうすればよいですか?
有効Java 8サポート:
サポートされているJava 8言語機能の使用を開始するには、Androidプラグインを2.4.0-alpha4(またはそれ以降)に更新し、以下をモジュールのbuild.gradle
ファイル:
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
jackOptionsを無効にする:
モジュールのbuild.gradleファイルからjackOptionsブロックを削除することで、Jackを無効にしてデフォルトのツールチェーンに切り替えることができます。
Android {
...
defaultConfig {
...
// Remove this block.
jackOptions {
enabled true
}
}
}
注:プロジェクトでJack、Retrolambda、またはDexGuardを使用している場合、AndroidスタジオのデフォルトではJavaこれらのツールによって提供される8つのサポート。
無効Java 8サポート:
Java 8.に関連する問題が発生した場合に備えて、プロジェクトのJava 8機能を無効にすることもできます。8。gradle.properties
ファイルを追加して更新できます。無効にする行の下Java 8つの機能:
Android.enableDesugar=false
Java 8つの機能の詳細については、 Java 8つの言語機能を使用 を使用してください)を確認してください。
これはすでに回答済みですが、新しいGradleとAndroidスタジオの更新後、jackOptions
は非推奨になりました。
Android {
.....
defaultConfig {
..........
//remove jackOptions and add
Android.compileOptions.sourceCompatibility 1.8
Android.compileOptions.targetCompatibility 1.8
}
// Keep the following configuration in order to target Java 8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
簡単なプロセス-
Right click on Project > Open Module Setting (F4) > Modules (app) >
選択する -
Source Compatibility - 1.8
Target Compatibility - 1.8
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
同じモジュールgradleでjackOptionを有効にします
defaultConfig {
jackOptions {
enabled true
}
}
Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "****************"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
}
アプリレベルに以下を追加するだけですbuild.gradle
およびSync
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}