Erro Kotlin: Module was compiled with incompatible version – solução

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

«Módulo compilado com versão incompatível do Kotlin» — como venci este erro e você também conseguirá

\n\n

Você já se sentiu como Sherlock Holmes tentando entender uma mensagem enigmática do compilador? Se você trabalha com Kotlin, certamente já se deparou com este monstro 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». Milhares de desenvolvedores no Stack Overflow quebraram a cabeça com este erro. E eu também.

\n\n

Imagine: você atualizou as dependências, clicou em «Run» e… puf! Seu projeto se recusa a compilar, e no console aparece esta mensagem. Familiar? Vamos entender por que isso acontece e como fazer seu código funcionar.

\n\n

Por que o erro ocorre: uma breve explicação

\n\n

Kotlin é uma linguagem que está em constante desenvolvimento. Cada nova versão traz melhorias, mas junto com elas, problemas de compatibilidade. A essência do erro é simples: você está usando uma biblioteca (módulo) que foi compilada para uma versão do Kotlin (no nosso caso, 1.5.1), enquanto seu projeto espera outra (1.1.15). É como tentar colocar um chip de iPhone 14 num Nokia 3310 — fisicamente não encaixa.

\n\n

O erro incompatible version of Kotlin geralmente ocorre em projetos onde:

\n
    \n
  • Se usa Android Studio ou IntelliJ IDEA
  • \n
  • Gerenciamento de dependências via Gradle
  • \n
  • Bibliotecas ou módulos de terceiros estão conectados
  • \n
  • As versões do plugin Kotlin e do Kotlin stdlib não coincidem
  • \n
\n\n

Vamos analisar três formas mais eficazes de resolver o problema. Iremos do mais simples ao mais confiável.

\n\n

Método nº1: Sincronizar as versões do Kotlin (o mais óbvio)

\n\n

A primeira coisa a fazer é verificar se todos os componentes do seu projeto usam a mesma versão do Kotlin. É como afinar uma orquestra: todos os instrumentos devem tocar na mesma tonalidade.

\n\n

Passo 1: Verificar a versão do plugin Kotlin

\n

Abra o arquivo build.gradle (nível do projeto) e encontre a seção buildscript. Certifique-se de que a versão do plugin corresponde ao que você espera:

\n\n
// build.gradle (Project level)\nbuildscript {\n    ext.kotlin_version = '1.5.1' // ou sua versão\n    repositories {\n        google()\n        mavenCentral()\n    }\n    dependencies {\n        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n        // outras dependências\n    }\n}
\n\n

Passo 2: Verificar a versão no módulo app

\n

Agora veja o build.gradle do seu módulo (geralmente app). Lá também deve estar especificada a versão do Kotlin:

\n\n
// build.gradle (Module: app)\napply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\n\nandroid {\n    // ... configuração do Android\n}\n\ndependencies {\n    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"\n    // outras dependências\n}
\n\n

Passo 3: Sincronizar o Gradle

\n

Após alterar as versões, clique em Sync Now no Android Studio. Isso atualizará todas as dependências. Se o erro foi causado por uma simples dessincronização, ele desaparecerá.

\n\n
\n

💡 Dica de profissional: Se você usa a variável $kotlin_version em ambos os arquivos, basta alterá-la em apenas um lugar. Isso reduz o risco de erros.

\n
\n\n

Método nº2: Limpar o cache e reconstruir o projeto

\n\n

Às vezes, o Gradle armazena em cache versões antigas das bibliotecas. Mesmo que você tenha corrigido tudo na configuração, ele pode teimosamente puxar a versão antiga. É como o cache do navegador — precisa ser limpo.

\n\n

Passo 1: Invalidate Caches

\n

No Android Studio ou IntelliJ IDEA:

\n