Skip to content

Migrate Android ID to Flutter 3.47 and AGP 9 - #126

Merged
nohli merged 33 commits into
mainfrom
update-flutter-3-44-agp9
Sep 26, 2026
Merged

nohli merged 33 commits into
mainfrom
update-flutter-3-44-agp9

Conversation

@nohli

@nohli nohli commented Sep 18, 2026 •

Copy link
Copy Markdown
Member

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

Copilot AI lite review requested due to automatic review settings September 18, 2026 03:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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.

Comment thread android/build.gradle
Comment thread CHANGELOG.md Outdated
@nohli
nohli force-pushed the update-flutter-3-44-agp9 branch from 8cc565c to ac0a2b2 Compare September 18, 2026 09:28
@nohli
nohli changed the base branch from main to fix/pub-score-flutter-sdk September 18, 2026 09:31
@nohli
nohli deleted the branch main September 18, 2026 09:38
@nohli nohli closed this Sep 18, 2026
@nohli nohli reopened this Sep 18, 2026
@nohli
nohli changed the base branch from fix/pub-score-flutter-sdk to main September 18, 2026 09:39
@nohli nohli changed the title Migrate Android ID to Flutter 3.44 and AGP 9 Migrate Android ID to Flutter 3.47 and AGP 9 Sep 18, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Remove the standalone Kotlin plugin declaration from example/android/settings.gradle to complete the AGP 9 migration.

Review effort: Lite
Findings: None

Resolved since last review (2)

@nohli

nohli commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

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 apply false, so KGP is not applied to the module; it only pins a compatible runtime. With it retained, the example APK builds normally.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Remove the unused Kotlin Gradle Plugin declaration from example/android/settings.gradle.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)

Comment thread example/android/settings.gradle

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The broad Android and Gradle toolchain migration warrants final human review.

Review effort: Lite
Findings: None

Resolved since last review (1)

@nohli
nohli merged commit 6a484e2 into main Sep 26, 2026
22 checks passed
@nohli
nohli deleted the update-flutter-3-44-agp9 branch September 26, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate plugin to built-in Kotlin Supports Built-in Kotlin

2 participants