Flutter/Android Build Management
By Michael
This post provides a place to collect info around migrating a mature Android application from pre Flutter 3.16 to 3.22 and migrating to the new Gradle DSL changes. It also contains information about Android build, dependency and 3rd party management in general, and links to monitor Gradle, Kotlin, Java and other tooling versions.
General info on Gradle migration
Flutter uses Gradle plugins to build Android apps. Before Flutter 3.16 “Gradle’s legacy, imperative apply script method” was used. Moving forward Android build process uses Gradle’s declarative plugins block, also called the Plugin DSL.
https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply https://sigmapie8.medium.com/flutter-3-16-gradle-changes-android-api-34-6e80f52a0659
Gradle
Releases https://gradle.org/releases/ Plugin DSL https://docs.gradle.org/8.5/userguide/plugins.html#sec:plugins_block
Flutter
https://docs.flutter.dev/release/whats-new
Flutter build variables file location /packages/flutter_tools/gradle/src/main/groovy/flutter.groovy https://stackoverflow.com/questions/74446016/where-is-flutter-compilesdkversion
Dart
https://dart.dev/get-dart/archive https://pub.dev/
Android
SDK platform release notes https://developer.android.com/tools/releases/platforms
Android build system
https://developer.android.com/build This includes a table of the Java version required for each Android version
Kotlin
https://kotlinlang.org/docs/releases.html#release-details
Google/Android maven repository
https://maven.google.com/web/index.html
CodeMagic
https://docs.codemagic.io/getting-started/about-codemagic/ macOS build machine specs https://docs.codemagic.io/specs/versions-macos/