|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +author: |
| 4 | + name: Bryan Ellis |
| 5 | +title: "Cordova Android 14.0.0 Released!" |
| 6 | +categories: announcements |
| 7 | +tags: news releases |
| 8 | +--- |
| 9 | + |
| 10 | +We are happy to announce that we have just released `Cordova Android 14.0.0`! This is one of Cordova's supported platforms for building Android applications. |
| 11 | + |
| 12 | +* [[email protected]](https://www.npmjs.com/package/cordova-android) |
| 13 | + |
| 14 | +**To upgrade:** |
| 15 | + |
| 16 | +```bash |
| 17 | +cordova platform remove android |
| 18 | +cordova platform add [email protected] |
| 19 | +``` |
| 20 | + |
| 21 | +**To install:** |
| 22 | + |
| 23 | +```bash |
| 24 | +cordova platform add [email protected] |
| 25 | +``` |
| 26 | + |
| 27 | +## Release Highlights |
| 28 | + |
| 29 | +### BREAKING CHANGES |
| 30 | + |
| 31 | +* **Increased Target SDK** |
| 32 | + |
| 33 | + This release has increased the target SDK to 35 (Android 15). |
| 34 | + |
| 35 | +* **Project Dependencies** |
| 36 | + |
| 37 | + The following Gradle dependencies were bumpped: |
| 38 | + |
| 39 | + * Gradle: `8.13` |
| 40 | + * Android Gradle Plugin (AGP): `8.7.3` |
| 41 | + |
| 42 | + Additionally, the following libraries have been upgraded: |
| 43 | + |
| 44 | + * AndroidX App Compat - `1.7.0` |
| 45 | + * AndroidX WebKit - `1.12.1` |
| 46 | + * AndroidX SplashScreen Core - `1.0.1` |
| 47 | + * Google Services Gradle Plugin - `4.4.2` |
| 48 | + |
| 49 | + If you or a plugin has made changes to any of the following configuration preferences, the build results might not match the expected outcomes with this release: |
| 50 | + |
| 51 | + |Preference|Default Value| |
| 52 | + |---|---| |
| 53 | + |`android-minSdkVersion`|24| |
| 54 | + |`android-maxSdkVersion`|_Not set_| |
| 55 | + |`android-targetSdkVersion`|35| |
| 56 | + |`android-compileSdkVersion`|_android-targetSdkVersion configured value_| |
| 57 | + |`android-buildToolsVersion`|35.0.0| |
| 58 | + |`GradleVersion`|8.13| |
| 59 | + |`AndroidGradlePluginVersion`|8.7.3| |
| 60 | + |`GradlePluginKotlinVersion`|1.9.24| |
| 61 | + |`AndroidXAppCompatVersion`|1.7.0| |
| 62 | + |`AndroidXWebKitVersion`|1.12.1| |
| 63 | + |`GradlePluginGoogleServicesVersion`|4.4.2| |
| 64 | + |
| 65 | + Please take note of the versions that have been updated in this release. If you have manually modified any of these values, it is recommended to review and update the preference values accordingly. |
| 66 | + |
| 67 | +* **Increased Android Studio Requirement** |
| 68 | + |
| 69 | + With the increase of Android Gradle Plugin, Android Studio Ladybug is the minimum required version for building and running projects in Android Studio. This aligns with the [Android Gradle plugin and Android Studio compatibility](https://developer.android.com/build/releases/gradle-plugin#android_gradle_plugin_and_android_studio_compatibility) documentation. |
| 70 | + |
| 71 | +* **Required Build Tools** |
| 72 | + |
| 73 | + To use `[email protected]`, SDK Platform `35` and SDK Build Tools `35.0.0` must be installed. Older build tools version can be uninstalled if older versions of cordova-android is no longer used in any of your projects. |
| 74 | + |
| 75 | + **Upgrade with Command-line tools:** |
| 76 | + |
| 77 | + The recommended way to install SDK Platform 35 and SDK Build Tools 35.0.0 is by using `sdkmanager`, which is part of Android's [Command-line tools](https://developer.android.com/tools/) package. The command-line tools is useful as it does not require Android Studio. |
| 78 | + |
| 79 | + At the time of writing, **version 19** of the Command-line tools was downloaded from Android Studio's SDK Manager and used. It can also be downloaded from the [Android Developers](https://developer.android.com/studio#command-line-tools-only) website. |
| 80 | + |
| 81 | + ```bash |
| 82 | + sdkmanager 'build-tools;35.0.0' 'platforms;android-35' |
| 83 | + ``` |
| 84 | + |
| 85 | + You may need to run the `update` flag first: |
| 86 | + |
| 87 | + ```bash |
| 88 | + sdkmanager --update |
| 89 | + ``` |
| 90 | + |
| 91 | + **Upgrade with Android Studio:** |
| 92 | + |
| 93 | + To install SDK Platform 35: |
| 94 | + |
| 95 | + 1. Open Android Studio's **SDK Manager**: |
| 96 | + 2. Click on `SDK Platforms` tab |
| 97 | + 3. Check `Android 15.0 ("VanillaIceCream")` which has the `API Level` of `35` |
| 98 | + 4. Click `Apply` |
| 99 | +
|
| 100 | + <img src="{{ site.baseurl }}/static/img/blog/2025/cordova-android-14-platform-sdk-35.png" style="width: 100%;" alt="Android SDK Platform" /> |
| 101 | +
|
| 102 | + To install SDK Build Tools 35.0.0: |
| 103 | +
|
| 104 | + 5. Open Android Studio's **SDK Manager**: |
| 105 | + 6. Click on `SDK Tools` tab |
| 106 | + 7. Check `Show Package Details` |
| 107 | + 8. Expand `Android SDK Build-Tools` |
| 108 | + 9. Check `35.0.0` |
| 109 | + 10. Click `Apply` |
| 110 | + |
| 111 | + <img src="{{ site.baseurl }}/static/img/blog/2025/cordova-android-14-sdk-build-tools-3500.png" style="width: 100%;" alt="Android SDK Build Tools" /> |
| 112 | + |
| 113 | +* **Increased Java Source & Target Compatibility** |
| 114 | + |
| 115 | + The Java Source & Target Compatibility has been increased to version 11. This aligns with the default settings used when creating a blank native project. |
| 116 | + |
| 117 | +* **Increased Node.js Engine Requirement** |
| 118 | + |
| 119 | + The Node.js engine requirement in this release has been increased to version 20.5.0 or later. |
| 120 | + |
| 121 | +* **Deprecated `CordovaPlugin`'s `initialize` Method** |
| 122 | +
|
| 123 | + The `initialize` method of the `CordovaPlugin` class has been marked as deprecated and will be removed in a future release. While this method was always considered deprecated, it was not properly annotated to notify plugin developers. |
| 124 | +
|
| 125 | + We recommend using the `pluginInitialize` method as a replacement for `initialize`. |
| 126 | +
|
| 127 | +* **Replaced Library `kotlin-stdlib-jdk*` with `kotlin-stdlib`** |
| 128 | +
|
| 129 | + The `kotlin-stdlib-jdk*` libraries have been replaced with `kotlin-stdlib`. Both `kotlin-stdlib-jdk7` and `kotlin-stdlib-jdk8` are merged into `kotlin-stdlib`. |
| 130 | +
|
| 131 | +### Feature |
| 132 | +
|
| 133 | +* **Added `AndroidEdgeToEdge` Preference Support** |
| 134 | +
|
| 135 | + By default, Android 15 enforces the Edge-to-Edge feature, which may affect some Apache Cordova apps. |
| 136 | +
|
| 137 | + In this major release, Apache Cordova has opted out of the Edge-to-Edge feature to retain the original behavior and allow app developers ample time to make the necessary adjustments to support Edge-to-Edge. |
| 138 | +
|
| 139 | + Users can re-enable the Edge-to-Edge feature using this new preference flag. |
| 140 | +
|
| 141 | + It is expected that in Android's next major release, opting out of Edge-to-Edge will no longer be possible. |
| 142 | + |
| 143 | + Apache Cordova will continue to prepare for this expected future behavior change. |
| 144 | + |
| 145 | +<!--more--> |
| 146 | +# Changes include: |
| 147 | + |
| 148 | +**Breaking Changes:** |
| 149 | + |
| 150 | +* [GH-1788](https://github.com/apache/cordova-android/pull/1788) dep!: bump npm packages |
| 151 | + |
| 152 | + |
| 153 | + |
| 154 | + |
| 155 | + |
| 156 | + |
| 157 | + |
| 158 | + |
| 159 | +* [GH-1789](https://github.com/apache/cordova-android/pull/1789) feat!: bump node engine requirement `>=20.5.0` |
| 160 | +* [GH-1784](https://github.com/apache/cordova-android/pull/1784) feat!: bump java default targets to 11 |
| 161 | +* [GH-1771](https://github.com/apache/cordova-android/pull/1771) feat!: deprecate CordovaPlugin's method initialize |
| 162 | +* [GH-1767](https://github.com/apache/cordova-android/pull/1767) feat!: use kotlin-stdlib instead of kotlin-stdlib-jdk* |
| 163 | +* [GH-1763](https://github.com/apache/cordova-android/pull/1763) feat!: SDK 35 Support |
| 164 | +
|
| 165 | +**Features:** |
| 166 | +
|
| 167 | +* [GH-1785](https://github.com/apache/cordova-android/pull/1785) feat: bump gradle to 8.13 |
| 168 | +* [GH-1779](https://github.com/apache/cordova-android/pull/1779) feat: add `AndroidEdgeToEdge` preference & theme flag |
| 169 | +* [GH-1778](https://github.com/apache/cordova-android/pull/1778) feat: Account for Node security patch |
| 170 | +* [GH-1768](https://github.com/apache/cordova-android/pull/1768) feat: `androidx.core:[email protected]` |
| 171 | +* [GH-1766](https://github.com/apache/cordova-android/pull/1766) feat: `com.google.gms:[email protected]` |
| 172 | +* [GH-1765](https://github.com/apache/cordova-android/pull/1765) feat: `androidx.webkit:[email protected]` |
| 173 | +* [GH-1764](https://github.com/apache/cordova-android/pull/1764) feat: `androidx.appcompat:[email protected]` |
| 174 | +
|
| 175 | +**Fixes:** |
| 176 | +
|
| 177 | +* [GH-1790](https://github.com/apache/cordova-android/pull/1790) fix: replace fs-extra.ensureFileSync with fs.writeFileSync |
| 178 | +* [GH-1781](https://github.com/apache/cordova-android/pull/1781) fix: copy gradle wrapper from tools to platform root dir |
| 179 | +* [GH-1770](https://github.com/apache/cordova-android/pull/1770) fix: creation of cdv-gradle-config.json w/ --link flag |
| 180 | +* [GH-1739](https://github.com/apache/cordova-android/pull/1739) fix(docs): Incorrect JDK requirement stated in README |
| 181 | +* [GH-1718](https://github.com/apache/cordova-android/pull/1718) fix: app restart when BT keyboard is connected in some devices |
| 182 | +
|
| 183 | +**Chores & Refactoring:** |
| 184 | +
|
| 185 | +* [GH-1786](https://github.com/apache/cordova-android/pull/1786) chore: add AndroidX build test to gitignore |
| 186 | +* [GH-1774](https://github.com/apache/cordova-android/pull/1774) style: update & resolve doc block warnings |
| 187 | +* [GH-1772](https://github.com/apache/cordova-android/pull/1772) refactor: replace fs-extra with node:fs |
| 188 | +* [GH-1769](https://github.com/apache/cordova-android/pull/1769) refactor: prefix node:* |
| 189 | +* [GH-1748](https://github.com/apache/cordova-android/pull/1748) chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 |
| 190 | +* [GH-1750](https://github.com/apache/cordova-android/pull/1750) chore(ci): Fix dependabot PR failures |
| 191 | +* [GH-1736](https://github.com/apache/cordova-android/pull/1736) chore(deps): bump micromatch from 4.0.5 to 4.0.8 |
| 192 | +* [GH-1716](https://github.com/apache/cordova-android/pull/1716) chore(deps): bump braces from 3.0.2 to 3.0.3 |
0 commit comments