Maldição do minCompileSdk (31): como vencer o erro AAR em Kotlin

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

Introdução: Seu projeto não compila? Você não está sozinho

\n\n

Imagine: você está programando em Kotlin, tudo indo bem, mas de repente — bum! — a compilação falha com uma mensagem misteriosa: The minCompileSdk (31) specified in a dependency's AAR metadata. Dor familiar? Esse erro é um dos "tropeços" mais populares no Stack Overflow (milhares de visualizações e centenas de comentários). Ele ocorre quando você usa uma biblioteca que requer uma versão mais recente do compileSdk do que a configurada no seu projeto.

\n\n

Neste artigo, vamos analisar como corrigir o erro minCompileSdk (31) nos metadados AAR para projetos em Kotlin e Java. Você aprenderá as causas, obterá soluções prontas e entenderá como evitar esse problema no futuro. Vamos lá!

\n\n

O que é minCompileSdk e por que ele quebra a compilação?

\n\n

Vamos começar com a teoria. Cada projeto Android tem seu próprio compileSdk — a versão do Android SDK com a qual ele é compilado. As bibliotecas (AAR) também podem especificar um compileSdk mínimo que precisam. Se a sua versão for inferior — o Gradle emite um erro. Isso é uma proteção contra incompatibilidade: a biblioteca pode usar APIs que não existem em SDKs antigos.

\n\n

O erro The minCompileSdk (31) specified in a dependency's AAR metadata literalmente diz: "Ei, esta biblioteca requer compilação com SDK 31 (Android 12) ou superior, mas você está usando uma versão menor!".

\n\n

Cenários típicos de ocorrência

\n
    \n
  • Você adicionou uma nova biblioteca (por exemplo, androidx.compose ou Firebase) que foi atualizada para exigir SDK 31+.
  • \n
  • Você está usando um modelo de projeto antigo com compileSdk = 30.
  • \n
  • Você esqueceu de atualizar o Gradle e as SDK Tools.
  • \n
\n\n

Como corrigir o erro minCompileSdk (31) em AAR: 3 maneiras comprovadas

\n\n

Aqui estão as soluções passo a passo para Kotlin e Java. Observe: o código está em Kotlin (DSL), mas a lógica é a mesma para Groovy.

\n\n

Método 1: Aumentar o compileSdk (recomendado)

\n

O caminho mais correto é atualizar o compileSdk para a versão exigida pela biblioteca. Geralmente é 31 (Android 12) ou 33 (Android 13).

\n\n

Passos:

\n
    \n
  1. Abra o arquivo build.gradle.kts (nível do módulo app).
  2. \n
  3. Encontre a seção android.
  4. \n
  5. Altere o compileSdk para o valor exigido.
  6. \n
\n\n
android {\n    compileSdk = 33 // Ou 31, 32 — dependendo dos requisitos\n\n    defaultConfig {\n        minSdk = 21\n        targetSdk = 33\n        // ...\n    }\n}\n
\n\n

Por que isso funciona? Você simplesmente atende aos requisitos da dependência. Se a biblioteca pede SDK 31, dê a ela SDK 31. Não se esqueça também de instalar o SDK correspondente no Android Studio (SDK Manager → Android 12.0 (API 31)).

\n\n

Método 2: Reduzir a versão da biblioteca

\n

Se você não quiser aumentar o compileSdk (por exemplo, devido à compatibilidade com dispositivos antigos), pode reverter a biblioteca para uma versão que não exija SDK 31.

\n\n

Exemplo: Em vez de implementation("androidx.compose:compose-bom:2023.10.01"), use uma versão mais antiga, como 2022.10.00.

\n\n
dependencies {\n    // Era (causa o erro)\n    // implementation("androidx.compose:compose-bom:2023.10.01")\n\n    // Agora (versão estável sem exigência de SDK 31+)\n    implementation("androidx.compose:compose-bom:2022.10.00")\n}\n
\n\n

Esta é uma solução temporária, mas ajuda se você estiver preso a um SDK antigo. A principal desvantagem é que você perde novos recursos e correções de segurança.

\n\n

Método 3: Sobrescrever o minCompileSdk via Gradle (exótico)

\n

Existe um método engenhoso, mas não documentado — sobrescrever os metadados AAR através da configuração do Gradle. Este método não é recomendado para produção, mas pode salvar se a biblioteca não for atualizada.

\n\n
andr                

Blogs

Book Recommendations