Compatibilidade Android 15 & 16KB Page Size
Atualizar o projeto para suportar o 16KB page size do Android 15. A estratégia recomendada é criar um projeto limpo com Flutter 3.32+ e migrar o código, em vez de tentar refatorar configurações legadas.
Comandos de Verificação:
sdkmanager --list | grep -E "ndk|build-tools|platforms"
# Instalar Firebase CLI se necessário
npm install -g firebase-tools
Garanta que está usando a versão estável 3.32+.
fvm install stable
fvm use stable
fvm flutter --version # Deve ser >= 3.32.0
Use o comando abaixo para gerar com a estrutura nativa correta.
fvm flutter create \
--org com.suaempresa \
--project-name seu_app_nome \
--platforms android,ios \
--android-language kotlin \
seu_app_nome
Verifique o arquivo android/gradle.properties. Ele DEVE conter:
android.bundle.enableUncompressedNativeLibs=false
E o android/app/build.gradle deve ter ndkVersion "28.0.12674087" (ou superior).
Configure o Firebase antes de copiar os arquivos antigos.
flutterfire configure --project seu-id-firebase --out lib/firebase_options.dart
Adicione as libs gradualmente para isolar erros de build.
Libs que geralmente não exigem config nativa pesada.
fvm flutter pub add cloud_firestore flutter_svg_provider vector_math timezone flutter_native_timezone cached_network_image timelines app_settings flutter_map
A lib flutter_foreground_task mudou drasticamente (v6 -> v8).
foregroundServiceType no AndroidManifest (Android 14+).TaskHandler.flutter_background_service ou workmanager se possível.android/app/src/main/AndroidManifest.xml conforme necessário.
O que copiar: Pastas lib/models, screens, widgets, utils.
O que NÃO substituir direto: lib/main.dart e lib/firebase_options.dart.
💡 Use um script ou copie manualmente cuidando para não apagar a inicialização do Firebase gerada na Fase 3.
fvm flutter install --uninstall-first e verifique o ADB.
cd android && ./gradlew clean && cd .. && fvm flutter clean