No se puede incorporar el código de bytes creado con JVM Target 1.8 en el código de bytes que se está compilando con JVM Target 1.6.
Al intentar ejecutar el ejemplo CorDapp ( GitHub CorDapp ) a través de IntelliJ, recibo el siguiente error:
No se puede incorporar el código de bytes creado con JVM Target 1.8 en el código de bytes que se está compilando con JVM Target 1.6.
¿Cómo puedo modificar la configuración de IntelliJ para que todo el código de bytes se cree con el mismo destino JVM?
Aceptado
aplicación/build.gradle
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
GL
Utilice las funciones del lenguaje Java 8
Puede solucionar este problema de la siguiente manera:
- Abra las preferencias de IntelliJ
- Vaya a
Build, Execution, Deployment
>Compiler
>Kotlin Compiler
PEROOther Settings
>Kotlin compiler
si Android Studio >3.4
- cambiar el
Target JVM version
a1.8
- Hacer clic
Apply
deberías configurar algo como lo siguiente en build.gradle
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}
agregue este código a la sección de Android dentro de su aplicación/build.gradle
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}