Estoy creando una casilla de Checkbox personalizada dentro de una Surface que tiene un Modifier.clickable :
Surface( modifier = Modifier .clickable( enabled = enabled, interactionSource = interactionSource, indication = rememberRipple(), role = Role.Checkbox, onClick = { onCheckedChange(!checked) } ) .then(modifier), ) { Row { Checkbox(checked = checked, onCheckedChange = {}, colors = colors) Text(text = text ?: "") } } Cuando trato de construir eso, obtengo la Exception during IR lowering error :
org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering File being compiled: /home/rene/AndroidStudioProjects/pass13/app/src/main/java/com/aresid/simplepasswordgeneratorapp/ui/widgets/Checkbox.ktVea el stacktrace completo aquí .
Eliminar el Modifier.clickable resuelve el problema de compilación.
Ya intenté subir/bajar de categoría algunas versiones, pero nada funciona correctamente.
Actualmente, estoy usando esas versiones:
ext.versions = [ 'compileSdk': 31, 'targetSdk' : 30, 'minSdk' : 26, 'kotlin' : '1.5.30', 'navigation': '2.3.5', 'compose' : '1.0.2' ]En mi caso, he creado un módulo independiente para mantener los componentes y el tema independientes de los módulos funcionales. Entonces, actualizar a continuación en los módulos Gradle dentro de Android funcionó para mí.
android { . . . buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion '1.0.3' kotlinCompilerVersion '1.5.30' } }Resolví mi problema siguiendo los pasos
Esto puede parecer contrario a la intuición (después de todo, el error dice " Error interno de back -end"), pero para mí, reiniciar el cliente de Android Studio lo solucionó.
Así que me puse en contacto con el equipo de JetBrains a través de su rastreador de problemas como sugirió @PhilipDukhov y resolvieron mi problema: https://youtrack.jetbrains.com/issue/KT-48815 .
Estaba usando kotlinCompilerExtensionVersion = versions.composeVersion en el archivo build.gradle de mi aplicación y esto es incorrecto. versions.composeVersion es algo proporcionado por Gradle pero parece estar obsoleto. Uno mismo debe escribir manualmente la versión que está usando allí.
En mi caso, olvidé agregar build.gradle
android { ... buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion '1.0.3' kotlinCompilerVersion '1.5.30' } }¡Es por JetpackCompose ! en gradle 7.2 debe agregar estas líneas en build.gradle en el bloque de android :
kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.0.4" }