Required target API level for publishing new apps and app updates on Google Play:
Version | API level | Build code |
---|---|---|
Android 16 in development | 36 | BAKLAVA |
Android 15 | 35 | VANILLA_ICE_CREAM |
Android 14 | 34 | UPSIDE_DOWN_CAKE |
Android 13 | 33 | TIRAMISU |
Android 12L | 32 | S_V2 |
Android 12 | 31 | S |
Android 11 | 30 | R |
Android 10 | 29 | Q |
Android 9 | 28 | P |
Android 8.1 | 27 | O_MR1 |
Android 8.0 | 26 | O |
Android 7.1 | 25 | N_MR1 |
Android 7.0 | 24 | N |
Android 6.0 | 23 | M |
Version | API level | Build code |
---|---|---|
Google Play services require min API level 23. | ||
Android 5.1 | 22 | LOLLIPOP_MR1 |
Android 5.0 | 21 | LOLLIPOP |
AndroidX libraries and Jetpack Compose require min API level 21. | ||
Android 4.4W | 20 | KITKAT_WATCH |
Android 4.4 | 19 | KITKAT |
Android 4.3 | 18 | JELLY_BEAN_MR2 |
Android 4.2 | 17 | JELLY_BEAN_MR1 |
Android 4.1 | 16 | JELLY_BEAN |
Android 4.0.3 – 4.0.4 | 15 | ICE_CREAM_SANDWICH_MR1 |
Android 4.0.1 – 4.0.2 | 14 | ICE_CREAM_SANDWICH |
Android 3.2 | 13 | HONEYCOMB_MR2 |
Android 3.1 | 12 | HONEYCOMB_MR1 |
Android 3.0 | 11 | HONEYCOMB |
Android 2.3.3 – 2.3.7 | 10 | GINGERBREAD_MR1 |
Android 2.3.0 – 2.3.2 | 9 | GINGERBREAD |
Android 2.2 | 8 | FROYO |
Android 2.1 | 7 | ECLAIR_MR1 |
Android 2.0.1 | 6 | ECLAIR_0_1 |
Android 2.0 | 5 | ECLAIR |
Android 1.6 | 4 | DONUT |
Android 1.5 | 3 | CUPCAKE |
Android 1.1 | 2 | BASE_1_1 |
Android 1.0 | 1 | BASE |
System | Description |
---|---|
Google Play | Apps with target API levels lower than API 33 are not discoverable on newer devices to new users. |
Android 15 | Apps with target API levels lower than API 24 cannot be installed. |
Android 14 | Apps with target API levels lower than API 23 cannot be installed. |
Name | Attribute | Recommendation | Description |
---|---|---|---|
Target API level | targetSdkVersion |
34 | The API level on which the app is designed to run. |
Min API level | minSdkVersion |
23+ | The minimum API level on which the app is able to run. |
Max API level | maxSdkVersion |
do not use | The maximum API level on which the app is able to run. |
Compile API level | compileSdkVersion |
34 | The API level which the app is compiled against. Keep it aligned with the target API level. |
build.gradle.kts
defaultConfig {
minSdk = 23
targetSdk = 34
…
}
build.gradle
defaultConfig {
minSdkVersion 23
targetSdkVersion 34
…
}
AndroidManifest.xml
<manifest>
<uses-sdk android:minSdkVersion="23"
android:targetSdkVersion="34" />
…
</manifest>