Skip to content

[jni] Migrate to built-in Kotlin#3477

Open
liamappelbe wants to merge 8 commits into
mainfrom
jni_migration
Open

[jni] Migrate to built-in Kotlin#3477
liamappelbe wants to merge 8 commits into
mainfrom
jni_migration

Conversation

@liamappelbe

@liamappelbe liamappelbe commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Applying the migration listed here: https://docs.flutter.dev/release/breaking-changes/migrate-to-built-in-kotlin/for-plugin-authors

I had to bump the minimum flutter/dart versions as part of the migration, which caused a ton of formatting changes. Those are all contained in the second commit, so you can just review the first commit.

Fixes #3415

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

PR Health

API leaks ⚠️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources
jni $JCollection core_bindings.dart::JCollection::implementIn::$impl
core_bindings.dart::JCollection::implement::$impl
jni $JIterator core_bindings.dart::JIterator::implementIn::$impl
core_bindings.dart::JIterator::implement::$impl
jni $JList core_bindings.dart::JList::implementIn::$impl
core_bindings.dart::JList::implement::$impl
jni $JMap$JEntry core_bindings.dart::JMap$JEntry::implementIn::$impl
core_bindings.dart::JMap$JEntry::implement::$impl
jni $JMap core_bindings.dart::JMap::implementIn::$impl
core_bindings.dart::JMap::implement::$impl
jni $JSet core_bindings.dart::JSet::implementIn::$impl
core_bindings.dart::JSet::implement::$impl

This check can be disabled by tagging the PR with skip-leaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
jni_flutter Non-Breaking 1.0.1 1.0.2-wip 1.0.2-wip ✔️
jni Breaking 1.0.0 1.0.1-wip 1.0.1-wip ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

@dcharkes dcharkes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

RSLGTM!

@goderbauer goderbauer 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.

LGTM

@buenaflor

Copy link
Copy Markdown
Contributor

Curious whether the bump to Dart 3.12/Flutter 3.44 is needed - the migration guide also has a section for plugins that support versions below Flutter 3.44

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[jni][jni_flutter] Android Gradle scripts break on AGP 9 built-in Kotlin (android.builtInKotlin=true)

4 participants