Android targetSdkVersion

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

From
API 35
From
API 36

Android versions #

Year Version API level Build code
2026 Android 17 in development TBD CINNAMON_BUN
2025 Android 16 QPR2 36.1 BAKLAVA_1
Android 16 36 BAKLAVA
2024 Android 15 35 VANILLA_ICE_CREAM
2023 Android 14 34 UPSIDE_DOWN_CAKE
2022 Android 13 33 TIRAMISU
Android 12L 32 S_V2
2021 Android 12 31 S
2020 Android 11 30 R
2019 Android 10 29 Q
2018 Android 9 28 P
2017 Android 8.1 27 O_MR1
Android 8.0 26 O
2016 Android 7.1 25 N_MR1
Android 7.0 24 N
2015 Android 6.0 23 M
Older Android versions
Year Version API level Build code
Note: Google Play services and most AndroidX libraries (inlcuding Jetpack Compose) require min API level 23.
2015 Android 5.1 22 LOLLIPOP_MR1
2014 Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
2013 Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
2012 Android 4.2 17 JELLY_BEAN_MR1
Android 4.1 16 JELLY_BEAN
2011 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
2010 Android 2.3.0 – 2.3.2 9 GINGERBREAD
Android 2.2 8 FROYO
Android 2.1 7 ECLAIR_MR1
2009 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
2008 Android 1.0 1 BASE

Minimum target API levels #

System Description
Google Play Apps with target API levels lower than API 34 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 35 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 35 The API level which the app is compiled against. Keep it aligned with the target API level.
build.gradle.kts
defaultConfig {
  minSdk = 23
  targetSdk = 35
  …
}
build.gradle
defaultConfig {
  minSdkVersion 23
  targetSdkVersion 35
  …
}
AndroidManifest.xml
<manifest>
  <uses-sdk android:minSdkVersion="23"
    android:targetSdkVersion="35" />
  …
</manifest>

References #