Thursday, February 27, 2014

Understanding Android Open Source Project

A while ago someone asked on Quora about some good ways to understand the AOSP. Although I don't work with Android internals anymore, it was fun looking back into AOSP and finding some sources (no pun intended). Here's my answer (edited for this blog):

Obviously, first go to AOSP site and follow the instructions to download the source.

Although outdated, take a look at Android Platform Developer's Guide (it's a copy of the old PDK, removed from Android site now). You can also check the source for older tags, such as gingerbread, probably under docs there are instructions on how to build the documentation. But don't blindly follow them. Sometimes I find it easier starting from where things started instead of diving into what's the current state.

I highly recommend setting up ctags, AOSP is just too big for Eclipse and you can't build it anyway using Eclipse (or Android Studio or IntelliJ).  Or try GLOBAL.

Chrome has a nice extension developed by Roman Nurik, it adds an “ad” keyword to the omnibox to search Android documentation and, the interesting point to your situation, adds a “view source” link in documentation pointing to the source of that class (look at screenshots in Android SDK Search extension to get an idea of what I'm talking about). This way you familiarize yourself with Android source code while developing normal apps.

Look at some patches sent to Gerrit Code Review. Also, try to solve some bugs in the Issue Tracker, it's an easier way to focus on one task and not get overwhelmed.

I also recommend this book: Embedded Android and some Marakana/New Training videos:

Some videos of Karim Yaghmour (Embedded Android author):

Also, although not exclusive to AOSP/low level stuff, understanding how IPC is done on Android is fundamental to understand Android:

Last, but not least, take a look at Android Builders Summit videos:
Android Builders Summit 2011 (download list)
Android Builders Summit 2012 (download list)
Android Builders Summit 2013 (youtube playlist)

I'd do a shameless plug and link to my own presentation on this topic, but it's in Portuguese and indeed doesn't make much sense without someone presenting it.


zefirinohachmeister said...

The Casino Games - DrmCD
Experience everything a casino game player has 수원 출장샵 to offer at our casino and play 화성 출장안마 the best of the best 계룡 출장마사지 slots. Don't be intimidated by the games 익산 출장샵 at our  Rating: 4 평택 출장마사지 · ‎21 votes

Unknown said...

The King Casino - Atlantic City, NJ | Jancasino
Come on in 바카라 사이트 the King Casino for fun, no wagering requirements, delicious dining, and enjoyable casino gaming all at the heart of Atlantic City.