How to enable Java 8 language features in Android studio
Clean answer-
Just add following to app level build.gradle
and Sync
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Enable Java 8 Support:
To start using supported Java 8 language features, update the Android plugin to 2.4.0-alpha4 (or higher) and add the following to your module’s build.gradle
file:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Disable jackOptions:
We can disable Jack and switch to the default toolchain, by removing the jackOptions block from module’s build.gradle file:
android {
...
defaultConfig {
...
// Remove this block.
jackOptions {
enabled true
}
}
}
Note: If your project is using Jack, Retrolambda, or DexGuard, then Android studio default uses Java 8 support provided by those tool.
Disable Java 8 Support:
We can also disable Java 8 features in your project in case you are facing any issue related Java 8. We can update gradle.properties
file by adding below line to disable Java 8 features:
android.enableDesugar=false
Check Use Java 8 language features for more details about Java 8 features.
I know this has been already answered, but after the new Gradle and android studio update, jackOptions
is deprecated.
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
}
}
Simple process -
Right click on Project > Open Module Setting (F4) > Modules (app) >
Select -
Source Compatibility - 1.8
Target Compatibility - 1.8