«Módulo compilado com versão incompatível do Kotlin» — como venci este erro e você também conseguirá
\n\nVocê 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\nImagine: 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\nPor que o erro ocorre: uma breve explicação
\n\nKotlin é 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\nO erro incompatible version of Kotlin geralmente ocorre em projetos onde:
- \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
Vamos analisar três formas mais eficazes de resolver o problema. Iremos do mais simples ao mais confiável.
\n\nMétodo nº1: Sincronizar as versões do Kotlin (o mais óbvio)
\n\nA 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\nPasso 1: Verificar a versão do plugin Kotlin
\nAbra 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:
// 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\nPasso 2: Verificar a versão no módulo app
\nAgora veja o build.gradle do seu módulo (geralmente app). Lá também deve estar especificada a versão do Kotlin:
// 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\nPasso 3: Sincronizar o Gradle
\nApó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💡 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.
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\nPasso 1: Invalidate Caches
\nNo Android Studio ou IntelliJ IDEA:
\n- \n
- Vá em
File → Invalidate Caches and RestartBlogs
Book Recommendations
Leia também
GOPATH no Ubuntu: 5 erros fatais e como configurar corretamente
Injeção de Dependência (Dependency Injection) em Kotlin: guia completo
Clean Code em Java: princípios e exemplos na prática
Code Review em C#: o que verificar para que o código não adoeça
self vs Self em Rust: Guia completo para iniciantes e além