Skip to content

Update percentage of devices with each API level based on Android Studio estimates#81

Open
marcprux wants to merge 1 commit into
ebelinski:mainfrom
marcprux:patch-1
Open

Update percentage of devices with each API level based on Android Studio estimates#81
marcprux wants to merge 1 commit into
ebelinski:mainfrom
marcprux:patch-1

Conversation

@marcprux

Copy link
Copy Markdown

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).

Screenshot 2026-01-14 at 15 51 02

@TWiStErRob

Copy link
Copy Markdown
Collaborator

These changes would be wiped by automated updates.

@marcprux

marcprux commented Apr 3, 2026

Copy link
Copy Markdown
Author

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 😁

@TWiStErRob

Copy link
Copy Markdown
Collaborator

@ebelinski thoughts? I think it would be nice to have a simple(r) update process.

@prbprbprb

Copy link
Copy Markdown
Contributor

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

@prbprbprb

Copy link
Copy Markdown
Contributor

Why not both?

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants