Migrate Android ID to Flutter 3.47 and AGP 9 - #126
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The AGP 8 compatibility issue must be resolved, and two documentation inconsistencies should be corrected.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Migrates the android_id plugin and example to Flutter 3.44 and AGP 9 built-in Kotlin support.
Changes:
- Updates Flutter, Android, Gradle, Kotlin, and SDK configuration.
- Raises the Android minimum API level to 24.
- Reformats Dart code and updates tests, documentation, and CI.
File summaries
| File | Summary | Review notes |
|---|---|---|
test/android_id_test.dart |
Reformats unit tests. | — |
README.md |
Documents updated build requirements. | nit, 1 vote: Update outdated Flutter 3.10.0 guidance. |
pubspec.yaml |
Updates package version and Flutter constraint. | — |
lib/android_id.dart |
Reformats platform detection logic. | — |
example/test/android_id_example_test.dart |
Reformats widget tests. | — |
example/pubspec.yaml |
Updates example SDK constraints. | — |
example/pubspec.lock |
Refreshes locked dependencies and SDK metadata. | — |
example/lib/main.dart |
Reformats example UI code. | — |
example/integration_test/android_id_test.dart |
Reformats integration tests. | — |
example/android/settings.gradle |
Updates Android and Kotlin plugin versions. | — |
example/android/gradle/wrapper/gradle-wrapper.properties |
Updates the Gradle wrapper. | — |
example/android/gradle.properties |
Enables built-in Kotlin configuration. | — |
example/analysis_options.yaml |
Sets formatter width. | — |
CHANGELOG.md |
Adds 0.6.0 release notes. | nit, 3 votes: Match the documented Gradle 9.4.1 version to the committed 9.7.1 wrapper. |
android/build.gradle |
Updates Android library configuration and minimum SDK. | critical, 2 votes: Preserve AGP 8 Kotlin support or remove documented AGP 8 compatibility. |
analysis_options.yaml |
Sets formatter width. | — |
.github/workflows/flutter_checks.yml |
Aligns CI formatting checks. | — |
Review details
Suppressed comments (1)
README.md:71
- This new minimum says Flutter 3.44 is required, but the troubleshooting section below still tells users that Flutter 3.10.0 is sufficient. Update that existing version guidance so this release does not direct users toward an unsupported Flutter toolchain.
`android_id` 0.6.0 or newer requires Flutter 3.44 and Android API 24 or newer.
- Files reviewed: 16/17 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
8cc565c to
ac0a2b2
Compare
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 5 to 6. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
|
Thanks for flagging the remaining Kotlin declaration. I tested the removal with Flutter 3.47.5: it makes the example fail before compilation because AGP 9.2.1 supplies Kotlin 2.2.10, below Flutter's 2.2.20 minimum. The declaration is |
…ns/actions/setup-java-6 Bump actions/setup-java from 5 to 6
Run Dart analyzer directly
…t-width Use the configured Dart formatter width
Use official Dart publishing
…s-only Run weekly Dependabot updates
…equests Run CI for branch pushes and pull requests



Prepares android_id 0.6.0 by updating the plugin and example for Flutter 3.47 and AGP 9's built-in Kotlin support, along with the Gradle toolchain changes needed for the migration. It also includes the focused pub-score fix from #129 so CI uses a compatible Flutter SDK.
I validated this locally with Flutter 3.47.5: package and example analysis and tests, a publish dry run with no warnings, and an Android release build. The current GitHub Actions run also passes the Android integration suite on APIs 24, 30, and 35.
Fixes #123
Fixes #124