Skip to content

Conversation

@vicajilau
Copy link
Contributor

This pull request proposes a more conservative and compatibility-focused update to the Android build system and SDK versions.

There is already an open pull request (#24) that introduces improvements to the Android setup. However, that PR upgrades multiple components—Dart, Gradle, Kotlin, JVM, and compile SDK—to their latest available versions. While this may seem beneficial, it significantly reduces compatibility with existing applications and environments, making the package harder to integrate in real-world projects.

In my opinion, that approach is not ideal for a package intended to be widely usable. This PR takes a more balanced route: it modernizes the build system and dependencies, but chooses sensible version upgrades that maintain compatibility with older setups.

Key Differences

  • Kotlin: Upgraded from 1.7.21 to 1.8.22 (instead of jumping to 2.x)
  • compileSdkVersion: Raised from 33 to 34 (not 36)
  • Gradle: Updated from 7.4 to 8.3 (instead of 8.4+)
  • Dart SDK: Increased from 2.18 to 3.5, but constrained to >=3.5.0 <4.0.0 to avoid locking out older apps

These changes aim to improve stability and compatibility without sacrificing support for existing projects. The goal is to ensure the package remains usable in a broader range of Flutter and Android environments.

Anders Cheow and others added 10 commits August 6, 2025 10:57
This commit updates various dependencies and configurations across the project.

- Updates pubspec.lock and example/pubspec.lock with new dependency versions and hash values.
- Modifies example/android/app/build.gradle:
    - Updates ndkVersion.
    - Sets namespace.
    - Changes sourceCompatibility and targetCompatibility to JavaVersion.VERSION_11.
    - Adds kotlinOptions with jvmTarget = '11'.
- Updates SDK constraints in example/pubspec.yaml and pubspec.yaml.
- Updates flutter_lints version in example/pubspec.yaml and pubspec.yaml.
- Modifies example/android/gradle.properties by removing some Android properties.
- Updates android/build.gradle:
    - Changes ext.kotlin_version.
    - Updates compileSdkVersion.
    - Changes sourceCompatibility and targetCompatibility to JavaVersion.VERSION_11.
    - Adds kotlinOptions with jvmTarget = '11'.
    - Sets namespace.
@manuelperez96
Copy link

@w3connext , I really think this PR is a must for this package. Please, could you take a moment to review it?

@Spaccesi
Copy link

Spaccesi commented Sep 9, 2025

@w3connext , please take a look 🙏

@prongbang
Copy link
Collaborator

Sorry for the late review, and thank you for your pull request.

# Conflicts:
#	.gitignore
#	android/build.gradle
#	android/gradle/wrapper/gradle-wrapper.jar
#	android/gradle/wrapper/gradle-wrapper.properties
#	android/gradlew
#	android/gradlew.bat
#	android/settings.gradle
#	example/android/app/build.gradle
#	example/android/build.gradle
#	example/android/gradle/wrapper/gradle-wrapper.properties
#	example/android/settings.gradle
#	example/pubspec.lock
#	example/pubspec.yaml
#	pubspec.lock
#	pubspec.yaml
@vicajilau
Copy link
Contributor Author

I have resolved conflicts with the latest changes @prongbang. This can be merged 🚀

@prongbang
Copy link
Collaborator

I have resolved conflicts with the latest changes @prongbang. This can be merged 🚀

Thank you.

@prongbang prongbang merged commit e170396 into w3connext:main Sep 25, 2025
2 checks passed
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.

4 participants