Android is Linux, wearing a different face
Every Android phone runs a Linux kernel at its core — the same kind you met in "Linux for Hackers". On top of it sits a runtime called ART (Android Runtime) that executes your apps, plus the framework services that draw screens and handle calls. If you understand this stack, Android stops being magic and becomes a system you can reason about.
The mental model to keep
- Kernel — Linux, managing hardware, memory and processes.
- ART runtime — runs each app's compiled bytecode.
- The sandbox — every app is given its own Linux user id (UID) and its own private data directory. Apps can't freely read each other's files, exactly because Linux permissions keep them apart.
This is a beginner, setup-focused course. You'll learn how Android is built and how to stand up a safe test environment — not how to break into anything. That comes later, in Android Application Security and Mobile Pentest.
How each lesson works
You learn by reading the theory, seeing the tools and the method, then doing it yourself on your own device or emulator. Every task has a Show solution with the exact steps if you get stuck.
🛠 Tools you'll set up
- An Android device you own, or the emulator (we set both up in later lessons).
- The
platform-tools package (gives you adb) and Android Studio.
⚙️ The method (every topic)
- Theory — understand how the piece fits together.
- Tools + method — what to install and how to use it.
- Challenge — try it on your own device/emulator.
- Show solution — step-by-step, only if you're stuck.
🎯 Challenge: In one sentence each, explain what the Linux kernel, the ART runtime, and the app sandbox each do on an Android phone — and why giving every app its own Linux UID keeps your data safe.
Show solution
- Kernel → the Linux core that manages hardware, memory and processes.
- ART → the runtime that executes each app's compiled code.
- Sandbox → each app runs as its own Linux UID with a private data dir, so ordinary Linux file permissions stop one app from reading another's files.
⚖️ For authorized, legal use only — practise on your own devices, apps and lab.
What's in Android for Beginners
- 1. How Android Works — Linux, ART and the SandboxFree
- 2. Apps, APK and the Play Store Model🔒 Foundations
- 3. Developer Options and USB Debugging🔒 Core
- 4. Meet ADB — Your Main Tool🔒 Core
- 5. Emulator Setup🔒 Core
- 6. Rooting — What It Is and the Risks🔒 Core
- 7. File System and App Data Layout🔒 Core
- 8. Reading an APK — a First Look🔒 Core
- 9. Ethics and Legal Boundaries🔒 Ethics
- 10. The Android Permission Model🔒 Core
- 11. OWASP MASVS & MASTG — the Testing Map🔒 Foundations
- 12. Where to Go Next🔒 Next Step
Continue in the interactive course reader →