Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6
app/build.gradle
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
GL
Use Java 8 language features
You can fix this issue as follows:
- Open the IntelliJ preferences
- Go to
Build, Execution, Deployment
>Compiler
>Kotlin Compiler
BUTOther Settings
>Kotlin compiler
if Android Studio >3.4
- Change the
Target JVM version
to1.8
- Click
Apply
you should configure something like as follows in build.gradle
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}
please add this code to android section inside your app/build.gradle
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
In my case, just changingTarget JVM Version like this: File > Setting > Kotlin Compiler > Target JVM Version > 1.8 did not help. However, it does resolved compile time error. But failed at runtime.
I also had to add following in app build.gradle file to make it work.
android {
// Other code here...
kotlinOptions {
jvmTarget = "1.8"
}
}