I had the privilege of speaking on Android Services Black Magic at AnDevCon 3, in Burlingame, CA to an amazing group of Android developers. This is similar to the talk I gave at Android Builders Summit, but slightly expanded, so I wanted to use this opportunity to post the updated slides and the screencast.
Here is the abstract from my talk:
The most interesting part of the Android stack are the Android System Services. The more than 50 services expose low level functionality, such as power management, Wifi, camera, sensors, GPS, display, audio, media, and so on, as well as the hardware all the way up to the application layer. While each one is different, they all have certain similarities, namely the way they rely on Binder (Android’s IPC mechanism), use JNI to cross Java-C boundary, and use 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.