Error de Kotlin: Module was compiled with incompatible version – solución

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

«El módulo se compiló con una versión incompatible de Kotlin» — cómo vencí este error y tú también podrás

\n\n

¿Alguna vez te has sentido como Sherlock Holmes tratando de entender un mensaje misterioso del compilador? Si trabajas con Kotlin, seguramente te has topado con este monstruo de Frankenstein: «Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15». Miles de desarrolladores en Stack Overflow se han devanado los sesos con este error. Y yo también.

\n\n

Imagina: actualizaste las dependencias, presionaste «Run» y… ¡pum! Tu proyecto se niega a compilar, y en la consola aparece este mensaje. ¿Te suena familiar? Analicemos por qué ocurre esto y cómo hacer que tu código funcione.

\n\n

Por qué ocurre el error: breve introducción

\n\n

Kotlin es un lenguaje que se desarrolla activamente. Cada nueva versión trae mejoras, pero junto con ellas, problemas de compatibilidad. La esencia del error es simple: estás usando una biblioteca (módulo) que fue compilada para una versión de Kotlin (en nuestro caso, 1.5.1), mientras que tu proyecto espera otra (1.1.15). Es como intentar insertar una tarjeta SIM de un iPhone 14 en un Nokia 3310: físicamente no encaja.

\n\n

El error incompatible version of Kotlin suele ocurrir en proyectos donde:

\n
    \n
  • Se usa Android Studio o IntelliJ IDEA
  • \n
  • La gestión de dependencias se hace mediante Gradle
  • \n
  • Se conectan bibliotecas o módulos de terceros
  • \n
  • Las versiones del plugin de Kotlin y de Kotlin stdlib no coinciden
  • \n
\n\n

Veamos tres formas más efectivas de resolver el problema. Iremos de la más simple a la más confiable.

\n\n

Método n.º 1: Sincronizar las versiones de Kotlin (lo más obvio)

\n\n

Lo primero que hay que hacer es verificar que todos los componentes de tu proyecto usen la misma versión de Kotlin. Es como afinar una orquesta: todos los instrumentos deben tocar en la misma tonalidad.

\n\n

Paso 1: Verificar la versión del plugin de Kotlin

\n

Abre el archivo build.gradle (a nivel de proyecto) y busca la sección buildscript. Asegúrate de que la versión del plugin coincida con lo que esperas:

\n\n
// build.gradle (Project level)\nbuildscript {\n    ext.kotlin_version = '1.5.1' // o tu versión\n    repositories {\n        google()\n        mavenCentral()\n    }\n    dependencies {\n        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n        // otras dependencias\n    }\n}
\n\n

Paso 2: Verificar la versión en el módulo app

\n

Ahora revisa el build.gradle de tu módulo (generalmente app). Allí también debe estar especificada la versión de Kotlin:

\n\n
// build.gradle (Module: app)\napply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\n\nandroid {\n    // ... configuración de Android\n}\n\ndependencies {\n    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"\n    // otras dependencias\n}
\n\n

Paso 3: Sincronizar Gradle

\n

Después de cambiar las versiones, asegúrate de presionar Sync Now en Android Studio. Esto actualizará todas las dependencias. Si el error fue causado por una simple desincronización, desaparecerá.

\n\n
\n

💡 Consejo de profesional: Si usas la variable $kotlin_version en ambos archivos, basta con cambiarla solo en un lugar. Esto reduce el riesgo de errores.

\n
\n\n

Método n.º 2: Limpiar la caché y recompilar el proyecto

\n\n

A veces Gradle almacena en caché versiones antiguas de las bibliotecas. Incluso si corregiste todo en la configuración, puede seguir usando la versión anterior obstinadamente. Es como la caché del navegador: hay que limpiarla.

\n\n

Paso 1: Invalidate Caches

\n

En Android Studio o IntelliJ IDEA:

\n