Note: Code Painters site is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com.

There are dozens of books about Android application development published already, adding little value to what can be found in the official Android developer's guide. On the other hand, no single book has been published until now (as far as I know) about porting and customizing the platform itself, making AOSP site and mailing lists the only sources of information. This situation is going to change with Embedded Android: Porting, Extending, and Customizing by Karim Yaghmour coming from O'Reilly in June.

The first four chapters of the book are already available directly from O'Reilly (digital Early Release). What's available now is already worth looking at, let me describe the contents briefly.

The first chapter, Introduction, gives a brief Android platform introduction (with some good background about how Android platform emerged) - it's fun to read, but nothing new to those interested in Android development.

The second chapter, titled Internals Primer, is where the book starts to shine. It gives a great overview of the whole platform, starting with a basic outline from the application developer perspective, then describing the platform architecture in more details - the motivation behind the Android's proprietary kernel modifications (wakelocks, binder, ashmem, etc.), general approach to hardware support (e.g. how the code is split between kernel space and C/Java user space code), filesystem layout, list of system daemons and services, etc. It's a kind of Android's missing architecture manual.

The third chapter, titled AOSP Jumpstart, is the first "hands-on" chapter of the book, giving all the information needed to download the AOSP source tree, prepare the build environment and eventually perform a basic build. Nothing very revelatory though, anyone who has ever tried to build a custom Android build should know it all already.

The fourth chapter, titled The Build System, is a great one, giving more detailed description of the Android's build system. It contains all the information necessary to add a new device, application, native library or daemon. Again, I'd expect such information to be available from AOSP site, but this book fills the gap perfectly.

The following chapters are going to describe the individual subsystems in more details. Even with only four chapters released so far I'd really recommend this book, as I believe the next ones will be as great, and I just can't wait for the final release!