Zygote
Android 17 · API 37 · 194 pages · 32 modules

Everythingbetween the tapand the pixel.

Android is a stack of about twenty layers, and almost nobody sees all of them at once. Zygote does. One continuous explanation of the operating system — from the Linux kernel and the vendor interface, through Binder and the runtime, to Compose and the frame that reaches your eyes.

Every layer below is clickable.

Your appskotlinSystem appsprivilegedFrameworksystem_serverRuntimeARTNativeC++HALvendorKernelLinuxcalls
The map

Everything, in the order a machine actually works

The modules are not alphabetical. They follow the stack: what runs first, what it calls, and what breaks when you change it. Start anywhere, but the prerequisites on each page tell you what you are missing.

How Android works

The platform from silicon to system_server. This is the spine of the site.

4 pages · 39 minThe big pictureDraw Android's whole stack from memory, and see one tap cross every layer.4 interactive4 pages · 62 minThe Linux kernelThe engine under everything — and what Android bolted onto it.4 interactive4 pages · 58 minBootFrom a press of the power button to a home screen, step by step.4 interactive5 pages · 59 minBinder & IPCHow a hundred sandboxed processes talk without trusting each other.5 interactive6 pages · 68 minZygote, Dalvik & ARTWhy every app is a copy of one process, and how your Kotlin actually executes.6 interactive6 pages · 74 minsystem_serverOne process, a hundred services, and almost everything you call.6 interactive6 pages · 72 minHALs, Treble & MainlineThe decade-long project to make Android updatable.6 interactive8 pages · 93 minSecurityDefence in depth, from the hardware root of trust to your app's sandbox.8 interactive6 pages · 74 minGraphicsChromium-free rendering: how a frame gets from your code to your eyes.6 interactive6 pages · 72 minInput & windowsFrom a touch digit to a click handler, and how windows stack.6 interactive5 pages · 60 minMemory, lifecycle & powerWhy Android kills apps on purpose, and how it rations the battery.5 interactive5 pages · 57 minStorageFrom the wild west of /sdcard to scoped storage.5 interactive5 pages · 58 minConnectivity, location & sensorsRadios, sockets, satellites and a chip that tells you which way is down.5 interactive5 pages · 55 minMedia, audio & cameraDecoding, playing, capturing, and the vulnerability that changed Android.5 interactive5 pages · 52 minAPKs & installationWhat is actually inside an APK, and what happens when you install one.5 interactive

How it evolved

Twenty years of Android, version by version, and the tools to explore it.

The instruments

Four ways to explore that no article can give you

Wait, really?

Ten seconds of curiosity

Small, sourced facts that are more interesting than they have any right to be. There are 207 in the cabinet.

Open the Curiosity Cabinet → 207 cards
Where to begin

Three doors

How we handle being wrong

Every claim has a source

Version numbers, API levels, class names and dates are traced to a primary source — AOSP documentation, the Android developer site, the actual source tree, or a launch blog post. The numbered superscripts on each page point at the list.

Uncertainty is visible

Where we could not confirm something against a primary source, the sentence is marked like this. It is never quietly smoothed over. A thinner correct page beats a rich invented one.

Pages carry a date

Each page shows when its facts were last checked. Android changes every year, and a page that does not tell you its age is a page you cannot trust.