Two weeks ago I gave a talk on Android Services Black Magic at Android Builders Summit 2012 so I thought it would be useful to share my slides, and video with the rest of the Android community - in hopes that some of you find this useful.
Here is the abstract from my talk:
The most interesting part of Android stack are the Android System Services. The 50+ such services expose the low level functionality, such as Power Management, Wifi, Camera, Sensors, GPS, Display, Audio, Media, and so on, all the hardware all the way up to the application layer. While each one is different, the all have certain similarities, namely the way they rely on Binder (Android’s IPC mechanism), use JNI to cross Java-C boundary, and use of shared libraries to abstract the Linux drivers. In this talk, we’ll explore the common system services in Android and discuss their architecture. You will get to see the diagrams of the inner workings of some of the previously undocumented parts of the Android stack. By the end of the talk, you should have a better understanding of the underpinnings of the backbone of Android OS.
Here the 62 minute-long screencast:
I'll post my individual diagrams separately.