Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Android SDK 35 Support #1745

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

feat: Android SDK 35 Support #1745

wants to merge 13 commits into from

Conversation

erisu
Copy link
Member

@erisu erisu commented Nov 8, 2024

Motivation and Context

Prepare for Cordova-Android 14 Release & Android SDK 35 support.

Description

Note: This PR is intended to collect changes for testing and will be split into smaller PRs later.

  • Bump Gradle to 8.9
  • Bump Android Gradle Plugin to 8.7.2
  • Bump Android SDK Target to 35
  • Bump Android Minimum Build Tools to 35.0.0
  • Bump androidx.appcompat to 1.7.0
  • Bump androidx.webkit to 1.12.1
  • Bump com.google.gms:google-services to 4.4.2
  • Bump kotlin-stdlib to 1.9.24
    • Added constraints to prevent kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 from being installed by other libraries, as kotlin-stdlib is already included.
  • Updated require statements to include node:* prefixes for Node.js internal modules.

Testing

  • Build Cordova sample application.
  • Tested on Android Studio - Ladybug

Checklist

  • I've run the tests to see all new and existing tests pass
  • I added automated test coverage as appropriate for this change
  • Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
  • If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
  • I've updated the documentation if necessary

@codecov-commenter
Copy link

codecov-commenter commented Nov 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.50%. Comparing base (5a2c50d) to head (5a9a612).
Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1745   +/-   ##
=======================================
  Coverage   72.50%   72.50%           
=======================================
  Files          23       23           
  Lines        1837     1837           
=======================================
  Hits         1332     1332           
  Misses        505      505           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jcesarmobile
Copy link
Member

  • Bump Android Gradle Plugin to 8.7.0-rc01

    • Awaiting official release.

The PR updates the version to 8.7.2 🤔

What about the kotlin version? should we update to 2.x?

@erisu
Copy link
Member Author

erisu commented Nov 14, 2024

The PR updates the version to 8.7.2 🤔

It seems I was using an RC version of Android Studio at the time that used AGP 8.7.0-rc01 as default. I’ve noticed a newer version and upgraded to the stable 8.7.2 but forgot to update the commit message, leading to incorrect information in the PR description.

Since 8.7.2 is the current default, I’ll correct the commit message and update the PR description.

What about the kotlin version? should we update to 2.x?

The latest official release of Android Studio is still using 1.9.24 of Kotlin as part of the default template.
I am not sure if we should use 2.x... Any opinions on this?

@breautek
Copy link
Contributor

Kotlin 2 is considered beta for IDE users, so Android Studio might not behave as expected when using K2. https://kotlinlang.org/docs/releases.html#release-details

So it might be better to stay on 1.x for now.

@msmtamburro
Copy link

Just a heads up that the Android release cycle has changed for the first time in a long time. We already have 16 in Beta (we would have expected it in June of 2025), and is expected to be released as early as Q2 (rather than Q3). We’ll want to target 36 earlier than expected.

@breautek
Copy link
Contributor

breautek commented Dec 4, 2024

Just a heads up that the Android release cycle has changed for the first time in a long time. We already have 16 in Beta (we would have expected it in June of 2025), and is expected to be released as early as Q2 (rather than Q3). We’ll want to target 36 earlier than expected.

What we have right now are the developer previews, which is more like an alpha. The betas are only scheduled to come out in Q1.

https://developer.android.com/about/versions/16

Final releases tends to land in August and I don't think their timeline is any different than what we normally see.

@msmtamburro
Copy link

Sorry, I should have said Alpha. But recall that the first Android 15 beta was in April, and we’re now seeing that 16 will likely be in January. I agree, there’s not a lot of clarity on the final release date, but it looks like it could be as early as May, likewise 3 months earlier than the expected August.

@breautek
Copy link
Contributor

breautek commented Dec 4, 2024

Sorry, I should have said Alpha. But recall that the first Android 15 beta was in April, and we’re now seeing that 16 will likely be in January. I agree, there’s not a lot of clarity on the final release date, but it looks like it could be as early as May, likewise 3 months earlier than the expected August.

Could be, they never really give an explicit final release date. But historically the final releases if I recall were around or slightly before August. At the end of August they'll also bump the required target SDK for new apps. In November they will require all app updates to target a newer SDK. At least that is what Google has done in previous years. Currently they require SDK 34. So they will require API 35 for new apps most likely starting at the end of August. And their current timeline fits that schedule.

@erisu
Copy link
Member Author

erisu commented Dec 5, 2024

Next major release will be in Q2 and a minor release in Q4.

So next release will be somewhere in between April and June; but if I had to guess, it will be in May.

@jcesarmobile
Copy link
Member

In the end what matters to us is not when is released but when is required in google play and google has not made an announcement about when SDK 35 will be required, much less about SDK 36.

Of course the sooner we release the better for the users.

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.

5 participants