API Levels _ Android versions, SDK_API levels, version codes, codenames, and cumulative usage
API Levels _ Android versions, SDK_API levels, version codes, codenames, and cumulative usage
targetSdk must be 34+ for new apps and app updates as of August 31, 2024.
https://apilevels.com 1/5
2/24/25, 2:44 PM API Levels | Android versions, SDK/API levels, version codes, codenames, and cumulative usage
https://apilevels.com 2/5
2/24/25, 2:44 PM API Levels | Android versions, SDK/API levels, version codes, codenames, and cumulative usage
https://apilevels.com 3/5
2/24/25, 2:44 PM API Levels | Android versions, SDK/API levels, version codes, codenames, and cumulative usage
Definitions
Gradle files
Kotlin Groovy variable Definition
variable
minSdk minSdkVersion The minimum SDK version your app will support, defined in build.gradle. For
example, if your minSdk is 26, this SDK version corresponds to API Level 26 and
Android 8, so your app will only run on devices with Android 8 or higher.
targetSdk targetSdkVersion The SDK version that your app targets, defined in build.gradle. This should
always be the same as compileSdk.
compileSdk compileSdkVersion The SDK version that your app compiles against, defined in build.gradle.
Android Studio uses this SDK version to build your AABs and APKs. This should
always be the same as targetSdk.
Code files
Variable Definition
Build.VERSION.SDK_INT The SDK version of the Android OS currently running on the user's device. For example,
on a device running Android 11, this value will be 30 (aka Build.VERSION_CODES.R), even if
the target and compile SDK of the app is different.
Footnotes
1. Cumulative usage distribution figures were last updated on January 9, 2025 using December 2024 data from
Statcounter GlobalStats and this script. These figures may have changed significantly since the last update. You
may update the figures yourself with a pull request. ↩
https://apilevels.com 4/5
2/24/25, 2:44 PM API Levels | Android versions, SDK/API levels, version codes, codenames, and cumulative usage
2. The codenames for Android 10 and above in the table are the internal codenames. Beginning with Android 10,
Google dropped the usage of codenames publicly. ↩
4. The years represent the year of first stable release of each version. The release dates are from
android.os.Build.VERSION_CODES including later versions' years from the Official Android blog (12, 12L, 13, 14, 15)
↩
See also
Build.VERSION_CODES official reference
Codenames, Tags, and Build Numbers
https://apilevels.com 5/5