Skip to content

Commit 94c68ef

Browse files
authored
chore(release): cordova-android@15.0.0 release blog & docs (#1484)
1 parent 9f9d827 commit 94c68ef

File tree

5 files changed

+237
-6
lines changed

5 files changed

+237
-6
lines changed

www/_data/releases.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,16 +149,15 @@
149149
customName: cordova-app-hello-world
150150

151151
- package: cordova-android
152-
version: 14.0.1
152+
version: 15.0.0
153153
downloadDir: platforms
154154
tarballs:
155-
# - type: source
156-
# extension: tar.gz
157-
# - type: source
158-
# extension: zip
155+
- type: source
156+
extension: tar.gz
157+
- type: source
158+
extension: zip
159159
- type: npm
160160
extension: tgz
161-
customName: cordova-android
162161

163162
- package: cordova-browser
164163
version: 7.0.0
Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
---
2+
layout: post
3+
author:
4+
name: Bryan Ellis
5+
title: "Cordova Android 15.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 15.0.0`! This is one of Cordova's supported platforms for building Android applications.
11+
12+
* [cordova-android@15.0.0](https://www.npmjs.com/package/cordova-android)
13+
14+
**To upgrade:**
15+
16+
```bash
17+
cordova platform remove android
18+
cordova platform add android@15.0.0
19+
```
20+
21+
**To install:**
22+
23+
```bash
24+
cordova platform add android@15.0.0
25+
```
26+
27+
## Release Highlights
28+
29+
### BREAKING CHANGES
30+
31+
* **Increased Target SDK**
32+
33+
This release has increased the target SDK to 36 (Android 15).
34+
35+
* **Project Dependencies**
36+
37+
The following Gradle dependencies were bumpped:
38+
39+
* Gradle: `8.14.2`
40+
* Android Gradle Plugin (AGP): `8.10.1`
41+
42+
Additionally, the following libraries have been upgraded:
43+
44+
* AndroidX App Compat - `1.7.1`
45+
* AndroidX WebKit - `1.14.0`
46+
47+
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:
48+
49+
|Preference|Default Value|
50+
|---|---|
51+
|`android-minSdkVersion`|24|
52+
|`android-maxSdkVersion`|_Not set_|
53+
|`android-targetSdkVersion`|36|
54+
|`android-compileSdkVersion`|_android-targetSdkVersion configured value_|
55+
|`android-buildToolsVersion`|36.0.0|
56+
|`GradleVersion`|8.14.2|
57+
|`AndroidGradlePluginVersion`|8.10.1|
58+
|`GradlePluginKotlinVersion`|2.1.21|
59+
|`AndroidXAppCompatVersion`|1.7.1|
60+
|`AndroidXWebKitVersion`|1.14.0|
61+
|`GradlePluginGoogleServicesVersion`|4.4.2|
62+
63+
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.
64+
65+
* **Increased Android Studio Requirement**
66+
67+
With the increase of Android Gradle Plugin, "**Android Studio Meerkat Feature Drop**" 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/about-agp#android_gradle_plugin_and_android_studio_compatibility) documentation.
68+
69+
Newer version of Android Studio are available but comes with untested version of Gradle. It is recommended to run `cordova build android` after adding the platform and before opening the project in Android Studio to ensure that the project sets up a supported version of Gradle.
70+
71+
* **Required Build Tools**
72+
73+
To use `cordova-android@15.0.0`, SDK Platform `36` and SDK Build Tools `36.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 36 and SDK Build Tools 36.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 20** 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;36.0.0' 'platforms;android-36'
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 36:
94+
95+
1. Open Android Studio's **SDK Manager**:
96+
2. Click on `SDK Platforms` tab
97+
3. Check `Android 16.0 ("Baklava")` which has the `API Level` of `36`
98+
4. Click `Apply`
99+
100+
<img src="{{ site.baseurl }}/static/img/blog/2026/cordova-android-16-platform-sdk-36.png" style="width: 100%;" alt="Android SDK Platform" />
101+
102+
To install SDK Build Tools 36.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 `36.0.0`
109+
10. Click `Apply`
110+
111+
<img src="{{ site.baseurl }}/static/img/blog/2026/cordova-android-16-sdk-build-tools-3600.png" style="width: 100%;" alt="Android SDK Build Tools" />
112+
113+
* **Increased Node.js Engine Requirement**
114+
115+
The Node.js engine requirement in this release has been increased to version 20.17.0 or later.
116+
117+
* **Support Previous Non-Edge-to-Edge Functionality**
118+
119+
By default, Android 16 enforces Edge-to-Edge with no way to disable it.
120+
121+
In this major release, Apache Cordova has improved the system bar functionality to mimic the previous non-Edge-to-Edge behavior, allowing app developers to continue supporting a status bar.
122+
123+
Users can still opt in to the Edge-to-Edge feature by using the `AndroidEdgeToEdge` preference flag introduced in Cordova-Android 14.
124+
125+
* **Support Night & Day Theme**
126+
127+
Added partial support for automatically switching between night and day themes based on system settings when SplashScreen, StatusBar, or background-related preferences are not set.
128+
129+
### Fixes
130+
131+
* **Back button override on API 36+**
132+
133+
Resolved an issue where Android API 36 crashes when the hardware back button is pressed.
134+
135+
* **Apply `repositories.gradle` for `cordova.gradle` dependencies**
136+
137+
Resolved an issue where users were unable to override repository settings for build-related Gradle dependencies.
138+
139+
* **Handle uninstalling multiple plugin assets**
140+
141+
Resolved an issue where plugins with multiple defined `<assets>` were not removed properly during uninstall.
142+
143+
<!--more-->
144+
# Changes include:
145+
146+
**Breaking Changes:**
147+
148+
* feat!: support previous non-E2E ([#1817](https://github.com/apache/cordova-android/pull/1817)) [[76aa9380](https://github.com/apache/cordova-android/commit/76aa9380)]
149+
* feat!: add partial night & day theme support ([#1818](https://github.com/apache/cordova-android/pull/1818)) [[60d28420](https://github.com/apache/cordova-android/commit/60d28420)]
150+
* feat!: bump kotlin@2.1.21 ([#1814](https://github.com/apache/cordova-android/pull/1814)) [[72e71488](https://github.com/apache/cordova-android/commit/72e71488)]
151+
* feat!: bump Gradle@8.14.2 & AGP@8.10.1 ([#1811](https://github.com/apache/cordova-android/pull/1811)) [[c25ed278](https://github.com/apache/cordova-android/commit/c25ed278)]
152+
* feat!: bump sdk & build tools to 36 ([#1810](https://github.com/apache/cordova-android/pull/1810)) [[d8f6f377](https://github.com/apache/cordova-android/commit/d8f6f377)]
153+
* feat!: remove unused getASPath.bat file ([#1808](https://github.com/apache/cordova-android/pull/1808)) [[7a47fe01](https://github.com/apache/cordova-android/commit/7a47fe01)]
154+
* chore!: bump dependencies & update node engine requirement ([#1887](https://github.com/apache/cordova-android/pull/1887)) [[b4eadcce](https://github.com/apache/cordova-android/commit/b4eadcce)]
155+
* chore!: update dependencies ([#1843](https://github.com/apache/cordova-android/pull/1843)) [[488c4987](https://github.com/apache/cordova-android/commit/488c4987)]
156+
* chore!: update template defaults ([#1837](https://github.com/apache/cordova-android/pull/1837)) [[e4457f7f](https://github.com/apache/cordova-android/commit/e4457f7f)]
157+
* chore(npm)!: bump cordova-common@6.0.0 w/ rebuilt package-lock.json ([#1835](https://github.com/apache/cordova-android/pull/1835)) [[8742cfe4](https://github.com/apache/cordova-android/commit/8742cfe4)]
158+
159+
**Features:**
160+
161+
* feat: Allows additional settings to be included on settings.gradle ([#1819](https://github.com/apache/cordova-android/pull/1819)) [[5bca218e](https://github.com/apache/cordova-android/commit/5bca218e)]
162+
* feat: replace nyc with c8 ([#1844](https://github.com/apache/cordova-android/pull/1844)) [[7d7f5110](https://github.com/apache/cordova-android/commit/7d7f5110)]
163+
* feat: allow disabling splash screen for embedded Cordova ([#1824](https://github.com/apache/cordova-android/pull/1824)) [[c2cf589d](https://github.com/apache/cordova-android/commit/c2cf589d)]
164+
* feat: AndroidShowDeprecations preference flag ([#1822](https://github.com/apache/cordova-android/pull/1822)) [[0190d2e3](https://github.com/apache/cordova-android/commit/0190d2e3)]
165+
* feat: androidx.appcompat:appcompat@1.7.1 ([#1813](https://github.com/apache/cordova-android/pull/1813)) [[36bee664](https://github.com/apache/cordova-android/commit/36bee664)]
166+
* feat: androidx.webkit:webkit@1.14.0 ([#1812](https://github.com/apache/cordova-android/pull/1812)) [[4dcfc361](https://github.com/apache/cordova-android/commit/4dcfc361)]
167+
* feat(CallbackContext): add success method for boolean ([#1864](https://github.com/apache/cordova-android/pull/1864)) [[6b76757c](https://github.com/apache/cordova-android/commit/6b76757c)]
168+
169+
**Fixes:**
170+
171+
* fix: Potential NPE when handling generic exceptions ([#1878](https://github.com/apache/cordova-android/pull/1878)) [[7a353fe8](https://github.com/apache/cordova-android/commit/7a353fe8)]
172+
* fix: opaque navigation bar in edge to edge ([#1867](https://github.com/apache/cordova-android/pull/1867)) [[eaca570c](https://github.com/apache/cordova-android/commit/eaca570c)]
173+
* fix: cordova requirements command and SDK lookup based on tools ([#1877](https://github.com/apache/cordova-android/pull/1877)) [[76bac55f](https://github.com/apache/cordova-android/commit/76bac55f)]
174+
* fix: re-expose and support pollOnce ([#1854](https://github.com/apache/cordova-android/pull/1854)) [[655aa0a5](https://github.com/apache/cordova-android/commit/655aa0a5)]
175+
* fix: edge to edge/fullscreen margins ([#1847](https://github.com/apache/cordova-android/pull/1847)) [[360be21e](https://github.com/apache/cordova-android/commit/360be21e)]
176+
* fix: Deprecation warning in PluginManager for using Class.newInstance ([#1823](https://github.com/apache/cordova-android/pull/1823)) [[eb5fe4fb](https://github.com/apache/cordova-android/commit/eb5fe4fb)]
177+
* fix: Back button override on API 36+ ([#1831](https://github.com/apache/cordova-android/pull/1831)) [[46af3114](https://github.com/apache/cordova-android/commit/46af3114)]
178+
* fix: gradle deprecation warnings about property assignment ([#1821](https://github.com/apache/cordova-android/pull/1821)) [[df36c7a2](https://github.com/apache/cordova-android/commit/df36c7a2)]
179+
* fix: replace deprecated fs.F_OK with fs.constants.F_OK ([#1820](https://github.com/apache/cordova-android/pull/1820)) [[b7923261](https://github.com/apache/cordova-android/commit/b7923261)]
180+
* fix: apply repositories.gradle for cordova.gradle dependencies ([#1816](https://github.com/apache/cordova-android/pull/1816)) [[cab5c5b7](https://github.com/apache/cordova-android/commit/cab5c5b7)]
181+
* fix(plugins): remove from platformWWW by default ([#1807](https://github.com/apache/cordova-android/pull/1807)) [[f0e88856](https://github.com/apache/cordova-android/commit/f0e88856)]
182+
* fix(plugins): rename & match removeFileF logic with other platforms ([#1806](https://github.com/apache/cordova-android/pull/1806)) [[5dc9c728](https://github.com/apache/cordova-android/commit/5dc9c728)]
183+
* fix(plugins): handle uninstalling multiple plugin assets ([#1805](https://github.com/apache/cordova-android/pull/1805)) [[08b8a954](https://github.com/apache/cordova-android/commit/08b8a954)]
184+
* fix(statusbar): inject script block to compute color & replace padStart w/ logic supported on SDK 24 ([#1853](https://github.com/apache/cordova-android/pull/1853)) [[52578ae7](https://github.com/apache/cordova-android/commit/52578ae7)]
185+
* fix(windows): Escape back-slashes for gradle config jdk path ([#1876](https://github.com/apache/cordova-android/pull/1876)) [[fb562f4e](https://github.com/apache/cordova-android/commit/fb562f4e)]
186+
187+
**Chores:**
188+
189+
* chore: add license header to template gitignore ([#1893](https://github.com/apache/cordova-android/pull/1893)) [[ffa77cad](https://github.com/apache/cordova-android/commit/ffa77cad)]
190+
* chore: update RELEASENOTES.md ([#1892](https://github.com/apache/cordova-android/pull/1892)) [[5003275b](https://github.com/apache/cordova-android/commit/5003275b)]
191+
* chore: license, license headers & CI & draft workflow improvements ([#1891](https://github.com/apache/cordova-android/pull/1891)) [[d426e0ff](https://github.com/apache/cordova-android/commit/d426e0ff)]
192+
* chore: update changelog ([#1890](https://github.com/apache/cordova-android/pull/1890)) [[aaf46bb2](https://github.com/apache/cordova-android/commit/aaf46bb2)]
193+
* chore(ci): get npm package filename from json output ([#1889](https://github.com/apache/cordova-android/pull/1889)) [[7fbdee1e](https://github.com/apache/cordova-android/commit/7fbdee1e)]
194+
* chore: minor changes to DEVELOPMENT.md ([#1884](https://github.com/apache/cordova-android/pull/1884)) [[edf34400](https://github.com/apache/cordova-android/commit/edf34400)]
195+
* chore: add DEVELOPMENT.md & cleanup README.md ([#1883](https://github.com/apache/cordova-android/pull/1883)) [[31364a97](https://github.com/apache/cordova-android/commit/31364a97)]
196+
* chore: update release audit workflow & license headers ([#1870](https://github.com/apache/cordova-android/pull/1870)) [[d7afba0a](https://github.com/apache/cordova-android/commit/d7afba0a)]
197+
* chore: bump 15.0.0-dev ([#1803](https://github.com/apache/cordova-android/pull/1803)) [[00744c4f](https://github.com/apache/cordova-android/commit/00744c4f)]
198+
* chore: bump version 14.0.2-dev [[872d9887](https://github.com/apache/cordova-android/commit/872d9887)]
199+
* chore(ci): draft release ([#1882](https://github.com/apache/cordova-android/pull/1882)) [[347e2add](https://github.com/apache/cordova-android/commit/347e2add)]
200+
* chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 ([#1869](https://github.com/apache/cordova-android/pull/1869)) [[ebe6890d](https://github.com/apache/cordova-android/commit/ebe6890d)]
201+
* chore(deps-dev): bump tmp from 0.2.3 to 0.2.4 ([#1834](https://github.com/apache/cordova-android/pull/1834)) [[af1ae68a](https://github.com/apache/cordova-android/commit/af1ae68a)]
202+
* chore(deps): bump lodash from 4.17.21 to 4.17.23 ([#1879](https://github.com/apache/cordova-android/pull/1879)) [[2ea3a731](https://github.com/apache/cordova-android/commit/2ea3a731)]
203+
* chore(deps): bump glob from 10.4.5 to 10.5.0 ([#1868](https://github.com/apache/cordova-android/pull/1868)) [[172b8448](https://github.com/apache/cordova-android/commit/172b8448)]
204+
* chore(readme): added nightly build section ([#1873](https://github.com/apache/cordova-android/pull/1873)) [[eaf875b0](https://github.com/apache/cordova-android/commit/eaf875b0)]
205+
206+
**Other:**
207+
208+
* ci: use macos-15 ([#1829](https://github.com/apache/cordova-android/pull/1829)) [[1204a793](https://github.com/apache/cordova-android/commit/1204a793)]
209+
* ci: update workflow - added node 24, permission scoping & codecov pinning ([#1804](https://github.com/apache/cordova-android/pull/1804)) [[60244658](https://github.com/apache/cordova-android/commit/60244658)]
210+
* ci(release-audit): use latest apache-rat-action ([#1809](https://github.com/apache/cordova-android/pull/1809)) [[6b8e819f](https://github.com/apache/cordova-android/commit/6b8e819f)]
211+
* ci(workflow): update release-audit & license config ([#1828](https://github.com/apache/cordova-android/pull/1828)) [[bf0ba3dd](https://github.com/apache/cordova-android/commit/bf0ba3dd)]
212+
* dep(npm): bump @cordova/eslint-config@6.0.0 ([#1830](https://github.com/apache/cordova-android/pull/1830)) [[56afb708](https://github.com/apache/cordova-android/commit/56afb708)]
213+
* doc(readme): update github and npm version badges ([#1872](https://github.com/apache/cordova-android/pull/1872)) [[8c8fbc9a](https://github.com/apache/cordova-android/commit/8c8fbc9a)]
214+
* test(plugins): remove old deprecated android_studio option ([#1815](https://github.com/apache/cordova-android/pull/1815)) [[484c60e4](https://github.com/apache/cordova-android/commit/484c60e4)]

www/docs/en/latest/guide/platforms/android/index.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,24 @@ The supported [Android API Levels](https://developer.android.com/guide/topics/ma
4040
</tr>
4141
</thead>
4242
<tbody>
43+
<tr>
44+
<td>15.0.x</td>
45+
<td>24 (7.0) - 36 (16.0)</td>
46+
<td>
47+
<ul>
48+
<li>Build Tools: ^36.0.0</li>
49+
<li>Kotlin: 2.1.21</li>
50+
<li>Gradle: 8.14.2</li>
51+
<li>Android Gradle Plugin: 8.10.1</li>
52+
<li>AndroidX Compat Library: 1.7.1</li>
53+
<li>AndroidX WebKit Library: 1.14.0</li>
54+
<li>AndroidX Core SplashScreen: 1.0.1</li>
55+
<li>Google Services Gradle Plugin: 4.4.2</li>
56+
<li>Java Development Kit (JDK): 17</li>
57+
<li>Node.js: >=20.17.0 || >=22.9.0</li>
58+
</ul>
59+
</td>
60+
</tr>
4361
<tr>
4462
<td>14.0.x</td>
4563
<td>24 (7.0) - 35 (15.0)</td>
728 KB
Loading
633 KB
Loading

0 commit comments

Comments
 (0)