Update percentage of devices with each API level based on Android Studio estimates#81
Update percentage of devices with each API level based on Android Studio estimates#81marcprux wants to merge 1 commit into
Conversation
|
These changes would be wiped by automated updates. |
|
It looks like the "New Project" dialog fetches its information from https://dl.google.com/android/studio/metadata/distributions.json, which contains entries like: {
"name": "V",
"version": "15",
"apiLevel": 35,
"distributionPercentage": 0.193,
"url": "https://developer.android.com/about/versions/15",
"descriptionBlocks": [
{
"title": "Camera and media",
"body": "Low Light Boost<br>In-app Camera Controls<br>HDR headroom control<br>Loudness control<br>Virtual MIDI 2.0 Devices<br>More efficient AV1 software decoding"
},
{
"title": "Connectivity",
"body": "Satellite support<br>Smoother NFC experiences<br>Wallet role"
},
{
"title": "Developer productivity and tools",
"body": "OpenJDK 17 updates<br>PDF improvements<br>Automatic language switching refinements<br>Improved OpenType Variable Font API<br>Granular line break controls<br>App archiving"
},
{
"title": "Graphics",
"body": "Modernizing Android's GPU access<br>Improvements for Canvas"
},
{
"title": "Large screens and form factors",
"body": "Improved large screen multitasking<br>Cover screen support"
},
{
"title": "Performance and battery",
"body": "ApplicationStartInfo API<br>Detailed app size information<br>App-managed profiling<br>SQLite database improvements<br>Android Dynamic Performance Framework updates"
},
{
"title": "Privacy",
"body": "Screen recording detection<br>Expanded IntentFilter capabilities<br>Private space<br>Query most-recent user selection for Selected Photos Access<br>Privacy Sandbox on Android<br>Health Connect<br>Partial screen sharing"
},
{
"title": "Security",
"body": "Integrate Credential Manager with autofill<br>Integrate single tap sign-up and sign-in with biometric prompts<br>Key management for end-to-end encryption<br>Permission checks on content URIs"
},
{
"title": "User experience and system UI",
"body": "Richer widget previews with Generated Previews API<br>Picture-in-picture improvements<br>Improved Do Not Disturb rules<br>Set VibrationEffect for notification channels<br>Media projection status bar chip and auto stop"
},
{
"title": "",
"body": "Last updated: December 1, 2025"
}
]
}Maybe the automated updates should be fetched from there? It'd probably be a lot easier to parse as well 😁 |
|
@ebelinski thoughts? I think it would be nice to have a simple(r) update process. |
|
Why not both? Here's what Google thinks and here's what we see in the wild. I'm guessing the Google numbers come from device checkins so will be biassed towards devices with Play Services installed. Both Google and statcounter.com miss out on a whole world of embedded devices running olde versions like 4.x |
NB The URL above is still returning those stats from December 1, 2025, so if we view them side-by-side with the April statcounter ones then there are some large discrepencies. |
The Android Studio "New Project" dialog offers an estimate of the number of devices with each API level. I suspect they are more accurate and up-to-date than the global Statcounter estimates. This PR updates the table's estimates to agree with the dialog (which was last updated on December 1, 2025).