From App Development to Android Framework Development: Experience, Learning Path, and Insights
The article shares a developer’s journey from Android app development to framework development, detailing motivations, environment setup, daily tasks, challenges, essential skills, and a structured learning roadmap for mastering Android’s system layers.
The author, a seasoned Android developer with seven years of experience, reflects on the increasing pressure of app development and decides to transition to Android framework development to explore deeper system-level work.
Framework development involves working on various Android subsystems such as Wi‑Fi/Bluetooth, multimedia, telephony, as well as business domains like TV, IoT, and automotive, offering a more stable and mature technology stack compared to the rapidly changing app layer.
After joining a new company, the author set up the development environment using Android Studio, Git, OpenJDK, Python, libssl-dev, audit2allow, m4, and remote tools like Sunflower/NoMachine to compile the Android source on Linux machines.
Compiling the Android source is time‑consuming (often several hours per build), and the author spent a week learning to download, compile, and flash the source, gradually fixing simple Java‑level bugs before tackling more complex native and HAL issues.
The learning curve includes understanding Android’s directory structure, startup flow, core services (PMS, AMS, WMS), inter‑process communication (Binder, AIDL, HIDL), and gaining proficiency in Linux commands, adb, JNI, and C/C++.
A recommended learning roadmap covers language fundamentals (Java, C/C++), essential skills (Linux/adb commands, source navigation, compilation, flashing), deep dives into key modules (boot process, services, system properties, Wi‑Fi, Bluetooth, telephony, media, display, storage, sensors), and advanced topics like JNI, IPC, and logcat analysis.
The author suggests using systematic resources such as the official Android platform guide, the book "Deep Understanding of Android Kernel Design", and tools like the PlantUML plugin for visualizing architecture, emphasizing the importance of summarizing each module after study.
In conclusion, mastering Android framework development is challenging but enriches one’s understanding of the operating system, enhances career resilience, and offers a rewarding alternative to the fast‑paced app development world.
Sohu Tech Products
A knowledge-sharing platform for Sohu's technology products. As a leading Chinese internet brand with media, video, search, and gaming services and over 700 million users, Sohu continuously drives tech innovation and practice. We’ll share practical insights and tech news here.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.