Exploring Android internals with ADB
summary
ADB is three pieces (adbd, adb server, adb client) and the demo uses command‑line ADB, getprop, uname -a (device runs Android 13 on Linux 5.10), dumpsys/cmd/pm/am, and scrcpy for display. The device lists 278 services (many are HALs), binder IPC lets framework call system services and service call ITelephony.call(S16,S16) actually places a phone call from shell, but service call only accepts strings/ints/floats. init parses ~120 rc files, zygote starts ART, and stop; start to reboot Android without rebooting Linux works. Building AOSP takes hours.
AI-written summary · about
chapters (12)
- 0:00Introduction and background
- 2:35ADB overview and setup
- 5:24Android architecture explained
- 9:35Binder and system services
- 13:05System services in practice
- 21:05Package and activity managers
- 25:51Native services and init
- 31:41Android sandboxing
- 34:52ADB shell and builds
- 35:57System properties
- 36:40Building custom Android
- 37:22Q&A session
related talks
50mADB, Break On Through To the Other Side
42mADB Break on through to the other side
47mMagic of ADB and Android shell
40mMagic of ADB
47mAndroid Debug Bridge: Step to the Other Side of the Black Mirror
43mEmbedded Android #1 - Android Internals
44mEmbedded Android #4 - Using and Customizing the Android Framework
43mEmbedded Android #3 - Native Android user-space
