Android targetSdkVersion

Required target API level for publishing new apps and app updates on Google Play:

From
API 34
From
API 35

Android versions #

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
Older Android versions
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

Minimum target API levels #

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.

Attributes #

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>

References #