Which Android version should my app support?
Choosing which Android versions to support can feel like a balancing act between reaching a wider audience and using modern development tools and features. At TelemetryDeck, we’re all about making decisions based on real-world data - so here’s how you can choose the right SDK version for your app!

For a long time Google Play used API 21 as the standard recommendation for new apps. Until Google deprecated support for Android 5 Lollipop in Google Play back in November 2024. The deprecation of Android 5 (released back in 2015) was not surprising. It's 10 years later and Android 5's market share has dropped below 1%. It had a pretty good run.
Get the data
Before guessing which Android versions to support, let your user base guide your decision.
New apps created in Android Studio automatically get the minimum supported version, for example. If you already have an app in Google Play, head to your app’s "Reach and Device Overview" dashboard. This view gives you:
- Distribution of Android versions among your users
- Device specs, RAM, and hardware configurations
- Performance metrics by OS version
If you already have an app live, use this data before raising your minSDK - otherwise, you might cut off a big part of your audience.
Looking for even more control? Use our 🚀 Orbital Survey to explore aggregate Android version usage, or create your own version usage queries with custom Dashboards!

Consider feature requirements
Beyond your current users, you should consider what your app needs to do.
Want to use new features like scoped storage, gesture navigation, or improved background task APIs? You’ll need to increase your minSDK.
For example:
- Android 9 includes improvements to biometric authentication
- Android 10 introduces scoped storage
- Android 12 adds better app hibernation and UX tools
- and future versions will add shiny new features, too! ✨
If those features are essential to your app, supporting newer versions is worth it - even if it slightly reduces your install base.
Android SDK versions explained
When we say "support Android X", what does that really mean? Let's clear that up.
Disambiguating Android SDK versions
There are three different version numbers that matter in Android development:
minSDK
- The lowest Android version your app supports
- Devices with lower versions won’t see or install your app
- Determines how many users you can reach
Example: Setting minSDK = 24 (Android 7.0) means your app works on 98.6% of active devices. (2025)
targetSDK
- The version you’ve tested against and optimized for
- Tells Android how your app expects to behave
- Optimizes compatibility with newer Android versions
- Required to access some new platform behavior changes
Example: targetSDK = 34 means you’ve tested your app on Android 14 and it behaves accordingly.
compileSDK
- The version of Android your development tools are using
- Should always be set to the latest stable version
- Has no effect on which devices can run your app
Example: compileSdDK = 36 lets you access Android 16 APIs in your codebase (with compatibility checks).

For Libraries
Libraries play by different rules. You’re not building for a single app - you’re building for any app that might want to use your code.
General tips:
- Set minSDK as low as reasonably possible
- Libraries should support older versions than apps
- Keep compileSDK and targetSDK up to date for stability and compatibility
Summary
There’s no one-size-fits-all answer, but here’s a quick guide:
Project Type | Recommended minSDK | Why |
---|---|---|
New Apps | Automatically selected | Often covers 98% of devices, modern baseline |
Existing Apps | Check your data | Avoid cutting off current users |
Libraries | Always older versions | Maximize compatibility for clients |
When in doubt, use TelemetryDeck to analyze your audience and make informed decisions.