The Curious Beginner
No code required. Draw the architecture from memory, follow one tap through every layer, then learn how the phone boots and how security actually works.
- Welcome to Zygote
Android is a phone-shaped stack of about twenty layers, and almost nobody sees all of it at once. This site does. Start here.
11 minbeginnerstart - The four layers of every topic
Every page on Zygote moves through the same four stages: visualise, understand, get curious, build. This page explains why that order, and how to use each stage.
8 minbeginnerstart - The layered stack
Android is seven layers deep. Each one has its own language, its own process model and its own update story — and each boundary between them is an interface someone deliberately designed.
11 minbeginnerbig-picture - Processes and UIDs: an app is a Linux user
The single decision that makes Android's security model work: every app gets its own Linux user identity, its own process, and its own sandbox. Everything else follows from that.
10 minbeginnerbig-picture - What happens when you tap an icon
The whole platform, in thirty seconds. A tap on the launcher becomes a process, a window, a frame and a photon — and every module on this site is one line of this story.
10 minbeginnerbig-picture - AOSP vs GMS vs OEM: why Android is four products
"Android" names at least four different things — an open-source project, a Google app suite, a vendor stack and a shipping phone. Confusing them explains most of the platform's politics and half its bugs.
8 minbeginnerbig-picture - The boot sequence
From a press of the power button to the first frame of the home screen: eight stages, four signed handoffs, and a device that has to prove what it is running before it is allowed to run it.
14 minintermediateboot - Zygote: the mother of processes
Every app and system_server is a fork of one warm process. Zygote is why an app can start in a few hundred milliseconds despite having no main() of its own.
12 minbeginnerruntime - The security model
Android security is not one feature but a set of boundaries, each of which assumes the one outside it has already failed. Read them as rings and the design starts to make sense.
11 minbeginnersecurity - The app sandbox
Every Android app is a Linux process with its own UID, its own data directory and its own SELinux domain. That single design decision is why installing a stranger's app is a reasonable thing to do.
11 minintermediatesecurity - The privacy timeline
Android's privacy model changed from a single install-time gate to a per-capability, per-duration, per-accuracy negotiation. Each release removed a specific capability that apps had been abusing.
13 minintermediateprivacy - The evolution of notifications
Notifications went from one ticker line to a structured, permissioned, per-channel surface that the user controls category by category. Each change was about who gets to interrupt whom.
12 minintermediatenotifications - How Android evolves
Android changes on a schedule, not a whim: an annual release train, three independent modularity seams, and feature flags that let one codebase produce many releases. Learn the machinery and the version history stops looking like a list of surprises.
13 minintermediateevolution