-
Notifications
You must be signed in to change notification settings - Fork 162
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
Support Android SDK version 35, with many consequential updates #862
Conversation
Fix npm install - dependency changes meant that bubblewrap wouldn't compile due to dependencies not supporting previous TypeScript version. To address this, updated TypeScript to 5.5.3. Updating TypeScript necessitates updating inquirer. Inquirer has been re-written in version 10, and version 9 is EPM only, while other dependencies need it to be CommonJS. So inquirer was updated to 8.2.6 for now - the latest CommonJS supporting version with the legacy API. As part of this change, esModuleInterop has been turned on, and the module import style has been made consistent, avoiding type errors. A few other minor changes (particularly to caught errors) were needed for TS5.5.3 compat. Next, the main aim of this change updates the targetSdkVersion and compileSdkVersion in app/build.gradle in the template. However, this also requires adding the namespace (set to the package ID) to the template. Updating the compileSdkVersion requires bumping the Android Gradle plugin to the latest 8.5.0. This change makes it no longer compatible with JDK 11, so this requires another extensive change - updating to OpenJDK 17. This has a number of consequential documentation and string updates, including moving the installer to use Eclipse Temurin instead of AdoptOpenJDK. Finally, updating JDK requires updating the Gradle wrapper. The outputs are from running `gradle wrapper --gradle-version 8.8`.
I've also added a new commit updating the Android build tools version to latest (34.0.0) to ensure it works for a completely clean install. |
Love your work team! Any ETA on when this will get merged? Google Play requires all apps to meet target API level requirements before 31 Aug 2024 (no pressure!) 🦖 😄 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Thanks gang! Just out of curiosity, when is the next release scheduled? Thanks in advanced! ✌️ |
Thanks for updating all. Same question as above about the next release date as Google has a deadline of 31st August for us to push out a new build targeting >= Android SDK 34. |
Thanks for all the work on this everyone! Any update on a release date? |
Hi everyone, thanks for your patience! We just pushed version 1.22.0 into npm which bumps up targetSdkVersion to 35 and Play Billing Library to v6. You can update your Bubblewrap version to regenerate the Android project and upload to the Play Store. |
Love your work gang!! 🚀🎉🥳 |
Wonderful, thank you!! 🎉 |
@ibrahimkarahan Is this also available in pwabuilder.com? Can we generate our TWA through it? I regenerated my PWA in pwabuilder.com and opened in Android Studio. In "Gradle scripts" in build.gradle (Module :app) it shows "compileSdkVersion 35" and "targetSdkVersion 35". So will this solve the issue we encounter in Google Play Console (App must target Android 14 (API level 34) or higher)? |
@RufatAbbasli you can join PWABuilder discord and reach the team responsible for it when you need, and yes they already updated and you can upload to fix the warning, you might see the warning still for old bundles (for example in open testing and other tabs) |
Fix npm install - dependency changes meant that bubblewrap wouldn't compile due to dependencies not supporting previous TypeScript version. To address this, updated TypeScript to 5.5.3.
Updating TypeScript necessitates updating inquirer. Inquirer has been re-written in version 10, and version 9 is ESM only, while other dependencies need it to be CommonJS. So inquirer was updated to 8.2.6 for now - the latest CommonJS supporting version with the legacy API. As part of this change, esModuleInterop has been turned on, and the module import style has been made consistent, avoiding type errors.
A few other minor changes (particularly to caught errors) were needed for TS5.5.3 compat.
Next, the main aim of this change updates the targetSdkVersion and compileSdkVersion in app/build.gradle in the template. However, this also requires adding the namespace (set to the package ID) to the template.
Updating the compileSdkVersion requires bumping the Android Gradle plugin to the latest 8.5.0.
This change makes it no longer compatible with JDK 11, so this requires another extensive change - updating to OpenJDK 17. This has a number of consequential documentation and string updates, including moving the installer to use Eclipse Temurin instead of AdoptOpenJDK.
Finally, updating JDK requires updating the Gradle wrapper. The outputs are from running
gradle wrapper --gradle-version 8.8
.