Skip to content

nguyenhau442001/Android-Full-Stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Android-Fullstack

Android Full Stack

Roadmap and practice repo for becoming interview-ready as an Android Framework Engineer (Automotive), targeting a JD that spans 7 specializations: Network, Media/USB/Camera, Tuner/DAB, System Stability, Power/STR, Communication Middleware, and Vehicle Control.

Strategy: Broad foundation → survey all 7 tracks → specialize in 2 → interview prep. Timeline: 6 months.


Progress Tracker

Phase 1 — Foundation (Month 1)

  • AOSP build system (Soong Android.bp, Make legacy, Bazel migration, lunch/m/mm, repo tooling)
  • HAL architecture (legacy HAL → HIDL → AIDL, Project Treble, VINTF)
  • Binder IPC internals (transaction model, ServiceManager, oneway vs blocking, death recipients)
  • Process model (Zygote, init.rc, SELinux contexts)
  • C/C++ + JNI fluency for reading framework/HAL source
  • Debugging toolkit (Perfetto/systrace, strace, tombstone analysis, dumpsys)

Resources:

  • source.android.com — Treble + HAL docs
  • Android Internals — Jonathan Levin
  • Embedded Android — Karim Yaghmour

Phase 2 — Survey Sprints (Month 2)

~4 days per track. Goal: find aptitude/interest before committing to deep dives.

# Track Status Core Components Mini Lab
1 Network [ ] ConnectivityService, netd, wpa_supplicant, RIL, IpSecService, VpnService Minimal VpnService app; trace netd socket commands
2 Media/USB/Camera [ ] MediaCodec/Codec2, Camera HAL3 (AIDL), libstagefright, UsbManager/usbd Camera2 capture app calling into HAL; simple encode/decode pipeline
3 Tuner/DAB [ ] android.hardware.broadcastradio, android.hardware.tv.tuner AIDL, ETSI DAB/DAB+ spec Read Tuner HAL AIDL defs; mock HAL if no hardware available
4 System Stability [ ] ActivityManagerService, PackageManagerService, WindowManagerService, LMKD, ANR/tombstone pipeline Reproduce an ANR, analyze tombstone, find jank via Perfetto
5 Power/STR [ ] PowerManagerService, WakeLock internals, Doze, SystemSuspend HAL, kernel /sys/power/state App holding wakelocks; observe via dumpsys power; trace suspend/resume
6 Comm Middleware [ ] Binder perf, vsomeip (SOME/IP), FastDDS, MQTT, cross-domain gateway services Stand up vsomeip example; bridge a signal into Android via JNI service
7 Vehicle Control [ ] android.hardware.automotive.vehicle (VHAL AIDL), CarService, CarPropertyManager Extend VHAL reference impl on Cuttlefish car emulator; add custom property

Checkpoint at end of Month 2: Pick top 2 tracks based on:

  • Aptitude/interest from the sprints above
  • Market demand (HCMC automotive Android roles)
  • Leverage from existing experience (WLAN driver debugging → Network edge; Bazel/build-system fluency → helps everywhere, especially System Stability)

Chosen tracks for deep dive:

  1. ____________________
  2. ____________________

Phase 3 — Deep Dive (Months 3–5)

~6 weeks per chosen track. For each:

  • Read the full service implementation source, top to bottom
  • Build a non-trivial lab project touching a real HAL boundary (not a toy app)
  • Be able to explain a design trade-off in the subsystem from memory
  • Document findings in the track's README.md

Phase 4 — Interview Prep (Month 6)

  • Mock interviews: AOSP source-reading (walk through unfamiliar framework code / stack traces)
  • System-design questions specific to chosen tracks (e.g., "design WakeLock arbitration for a multi-display automotive system")
  • Polish repo as portfolio — push all labs, notes, and writeups
  • Resume tailored to chosen tracks
  • Apply

Repo Structure

android-full-stack/
├── README.md                  # this file — roadmap + progress tracker
├── 00-foundation/
│   ├── build-system/
│   ├── binder-ipc/
│   ├── hal-architecture/
│   └── debugging-toolkit/
├── 01-network/
├── 02-media-usb-camera/
├── 03-tuner-dab/
├── 04-system-stability/
├── 05-power-str/
├── 06-comm-middleware/
├── 07-vehicle-control/
└── interview-prep/

Each track folder contains:

  • README.md — theory notes + AOSP source pointers
  • labs/ — hands-on practice projects

Notes

  • Update the checkboxes above as you progress — this file is the single source of truth for the roadmap.
  • Each track's own README.md should link back here.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors