Esse tutorial serve para identificar e corrigir o erro do NDK incompatível pode ocorrer ao rodar o app no emulador Android do Android Studio. Isso ocorre porque a versão no NDK é selecionada de forma transparente pelo Flutter e pode ser incompatível com a versão instalada no Studio.
Ao rodar o comando flutter run ou iniciar o app no emulador, aparece um erro parecido com este:
NDK from ndk.dir at ... had version [29.x.xxxxxx] which disagrees with android.ndkVersion [26.x.xxxxxx]
Isso significa que o Flutter está tentando usar uma versão do NDK diferente da que está instalada no seu computador.
Como esse é um erro corrente ao compilar a versão Android do aplicativo Flutter, ajustei a instalação e setup do Android Studio para evitar essa possibilidade, mas isso vai depender do dispositivo (celular) ou emulador em que você vai testar o app.
O NDK (Native Development Kit) é necessário quando seu app ou plugins usam código nativo (C/C++). Nem todo projeto Flutter usa o NDK, mas o sistema Android pode exigir uma versão específica para compilar para código nativo quando usa um emulador.
Abra o arquivo android/app/build.gradle.kts
Dentro do bloco android, procure por ndkVersion = "26.3.11579264" ou outro número
Anote essa versão pois é a que o projeto espera
Abra o explorador de arquivos: ⊞ + E
Acesse a pasta C:\Users\SEU_USUARIO\AppData\Local\Android\Sdk\ndk\
Veja quais subpastas existem (ex: 26.3.11579264, 29.0.13113456, etc)
Opção A: Você pode o projeto para a versão instalada. Se a pasta instalada for, por exemplo, 29.0.13113456, mude no build.gradle.kts:
android {
ndkVersion = "29.0.13113456"
}
Opção B: Instalar a versão que o projeto espera. Se o projeto quer 26.3.11579264, faça o seguinte:
Abra o Android Studio.
Vá em: File → Settings → Appearance & Behavior → System Settings → Android SDK → SDK Tools
Marque NDK (Side by side)
Clique em Show Package Details
Marque exatamente a versão 26.3.11579264
Clique em Apply para instalar
Abra o arquivo android/local.properties
Se existir uma linha assim:
ndk.dir=C\:\\Users\\SEU_USUARIO\\AppData\\Local\\Android\\Sdk\\ndk\\29.0.13113456
Atualize para a versão correta, por exemplo
ndk.dir=C\:\\Users\\SEU_USUARIO\\AppData\\Local\\Android\\Sdk\\ndk\\26.3.11579264
Ou apague completamente essa linha para deixar o Gradle usar a ndkVersion definida no .kts.
No terminal do IntelliJ:
flutter clean
flutter pub get
Execute o aplicativo clicando no "Play" correspondente.
Projeto exige NDK X, mas você só tem o Y → Ajuste ndkVersion para Y, ou instale o NDK X
local.properties aponta para NDK errado → Corrija ou remova a linha ndk.dir
Quer evitar isso no futuro → Sempre verifique a versão do NDK em build.gradle.kts