La clase 'androidx.compose.ui.platform.ComposeView' es compilada por un nuevo backend del compilador de Kotlin y no puede ser cargada por el compilador anterior
Este es mi método onCreate:
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { return inflater.inflate(R.layout.fragment_delivered, container, false).apply { findViewById<ComposeView>(R.id.compose_view).setContent { MaterialTheme { Surface { Text("Hello") } } } } }Componer versión:
accompanistVersion = "0.1.9" composeVersion = '0.1.0-dev17'aplicación.gradle
buildFeatures { compose true dataBinding true } composeOptions { kotlinCompilerVersion rootProject.kotlinVersion kotlinCompilerExtensionVersion rootProject.composeVersion } // Compose implementation "androidx.compose.runtime:runtime:$rootProject.composeVersion" implementation "androidx.compose.ui:ui:$rootProject.composeVersion" implementation "androidx.compose.foundation:foundation:$rootProject.composeVersion" implementation "androidx.compose.foundation:foundation-layout:$rootProject.composeVersion" implementation "androidx.compose.material:material:$rootProject.composeVersion" implementation "androidx.compose.ui:ui-viewbinding:$rootProject.composeVersion" implementation "androidx.ui:ui-tooling:$rootProject.composeVersion" implementation "androidx.compose.runtime:runtime-livedata:$rootProject.composeVersion" implementation "com.google.android.material:compose-theme-adapter:$rootProject.composeVersion" implementation "dev.chrisbanes.accompanist:accompanist-coil:$rootProject.accompanistVersion"Seguir los pasos de la guía de configuración oficial me llevó al mismo problema.
Agregar lasdependencias/configuración necesarias para la biblioteca de redacción solucionó este problema para mí.
Agregue esta tarea en su archivo app/build.gradle:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = "1.8" freeCompilerArgs += ["-Xallow-jvm-ir-dependencies", "-Xskip-prerelease-check"] } }El app/build.grade predeterminado, al crear un nuevo proyecto con una "Actividad de redacción vacía", incluye las siguientes opciones.
android { // other options kotlinOptions { jvmTarget = '1.8' useIR = true } // more options } Agregar estas opciones (específicamente useIR = true ) pareció solucionar el error para mí.
La opción useIR hace referencia a unnuevo backend de JVM para Kotlin para el cual la documentación establece específicamente lo siguiente.
Si habilita Jetpack Compose, automáticamente se habilitará para el nuevo backend de JVM sin necesidad de especificar la opción del compilador en
kotlinOptions.
Lo cual es aparentemente incorrecto.
versión .kts
tasks.withType<KotlinCompile>() { kotlinOptions.jvmTarget = "1.8" kotlinOptions.freeCompilerArgs = listOf( *kotlinOptions.freeCompilerArgs.toTypedArray(), "-Xallow-jvm-ir-dependencies", "-Xskip-prerelease-check") useIR = true }Esta es la dependencia que causa el error respectivo en mi caso:
androidTestImplementation 'androidx.compose.ui:ui-test-junit4:1.0.5'Supongo que jugar con él debería ayudar.