Three API levels govern an Android build. minSdkVersion is the oldest Android that may install the app. targetSdkVersion is the newest behavior the app is tested against: Android applies a version's behavior changes (permissions, background limits, edge-to-edge drawing) only to apps that target it. compileSdkVersion is the SDK the code compiles against. cordova-android 15.1.0 uses 24, 36 and 36:
apk=platforms/android/app/build/outputs/apk/debug/app-debug.apk
apkanalyzer manifest min-sdk $apk
apkanalyzer manifest target-sdk $apk24 36
| API level | Android version | Why it matters here |
|---|---|---|
| 24 | 7.0 | cordova-android 15's minimum |
| 26 | 8.0 | Adaptive icons (Icons and Splash Screens) |
| 35 | 15 | Floor for existing Play apps to reach new users |
| 36 | 16 | Required target for new apps and updates since 31 August 2026 |
Change them with the android-minSdkVersion, android-targetSdkVersion and android-compileSdkVersion preferences, which prepare writes into cdv-gradle-config.json. Raise the minimum only for an API you need, since each step drops devices, and leave the target at the platform's default: a new cordova-android release is how Cordova adopts and tests a new target, so Play's yearly deadline (Play Console Requirements) means a yearly upgrade.