.ci/legacy_project/README.md
This directory contains a partial snapshot of an old Flutter project; it is intended to replace the corresponding parts of a newly Flutter-created project to allow testing plugin builds with a legacy project.
It was originally created with Flutter 2.0.6. In general the guidelines are:
android/ directory from a legacy project, rather than a subset of it
which would be combined with a subset of a new project's android/
directory. This is to avoid random breakage in the future due to
conflicts between those subsets. For instance, we could probably get
away with not including android/app/src/main/res for a while, and
instead layer in the versions from a new project, but then someday
if the resources were renamed, there would be dangling references to
the old resources in files that are included here.The reason for the hybrid model, rather than checking in a full legacy project, is to minimize unnecessary maintenance work. E.g., there's no need to manually keep Dart code updated for Flutter changes just to test legacy native Android build behaviors.
The following are the changes relative to running:
flutter create -a java all_packages
and then deleting everything but android/ from it:
jcenter in build.gradle with mavenCentral, due to the
jcenter.bintray.com shutdown.compileSdkVersion from 30 to flutter.compileSdkVersion in
build.gradle to maintain compatibility with plugins that use
Flutter's most recently supported API version.gradle-wrapper.properties to upgrade the Gradle version
from 8.4 to 8.11.1. If a user runs into an error with the Gradle
version, the warning is clear on how to upgrade the version to
one that we support.settings.gradle to upgrade the Android Gradle Plugin (AGP)
from version 8.3.0 (originally set in build.gradle; see bullet below)
to 8.9.1. If a user runs into an error with the AGP version, the warning
is clear on how to upgrade the version to one that we support.build.gradle to settings.gradle).settings.gradle to upgrade the Kotlin Gradle Plugin (KGP)
from version 1.9.0 to 2.1.0. If a user runs into an error with the AGP version,
the warning is clear on how to upgrade the version to one that we support.gradle.properties to not set android.enableJetifier=true.app/build.gradle to enable library desugaring to support
interactive_media_ads plugin.