Framework census

What Android apps are actually built with.

Build frameworks detected by static analysis of 1286 shipped Android binaries — counted separately for games and non-game apps, because blending them is what makes most framework market-share figures wrong.

1286 Apps analyzed
8 Frameworks found
116 SDKs detected 37 SDK categories
The headline finding

Games and apps are built differently

Counted across the whole corpus, Unity looks like 17.5% of Android development. Strip out games and it is 1.6% — a 15.9% overstatement. Game engines and app frameworks serve different jobs, so a single blended percentage describes neither. Both segments are reported below; pick the one that matches the decision you're making.

Third-party load

Games ship more code and ask for less

Games average 14.8 bundled SDKs against 10.8 for non-game apps, yet request 19.8 permissions against 30.5. The gap is a monetization signal, not a privacy one: ad mediation and attribution stack up in games, while the permissions that dominate app manifests — location, contacts, camera — are things most games never touch.

SDKs per app · games 14.8
SDKs per app · non-games 10.8
Permissions · games 19.8
Permissions · non-games 30.5
Architecture patterns

Cross-platform vs Native

Compare how developers choose between single-codebase cross-platform solutions and platform-native development. Counts are the same 1286 analyzed apps used above.

Methodology

How this was measured

Frameworks are detected by static analysis of the binary each store actually ships, not from developer surveys, job postings, or package-registry downloads. Read these limits before quoting any figure above — the full method is on the methodology page.

Corpus 1286 apps
Excluded · thin analysis 274
Android 1557
iOS 3
Unsegmentable 54
Last analyzed 2026-08-25

This is an Android census. Of 1560 apps in the catalog, 1557 are Android and only 3 are iOS. Nothing here should be read as a statement about iOS development, and the totals are not a mobile market estimate.

The corpus is a store-charts sample, not a census of the store. Apps enter the catalog because they surfaced in category and top-chart browsing, which skews toward apps with distribution. Percentages describe this corpus. They are not weighted by installs or revenue, and we publish no install figures because we have no source for them we trust.

54 apps can't be segmented. Google Play uses the name "Sports" for both an app category and a game category, and the store metadata we read gives the display name only. Those apps are excluded from the games and non-games tables rather than guessed into one, so the two segments sum to 1232, not 1286.

274 apps are excluded for thin analysis. An app counts only when we detected at least three SDKs and one permission. Below that the result more likely reflects an obfuscated or packed binary than a genuinely lean app, and counting it would bias the per-framework SDK averages downward.

Detection is a best effort on obfuscated code. Frameworks are inferred from file layout and library fingerprints, which aggressive shrinking can hide. Where the analyzer returns nothing we label the app "Not determined" rather than assigning a default, so a gap in our data never reads as a finding.