Advertisement
Tech

Learn How To Work With the Android Source Code

Ever wonder what Google Android source code looks like so you can see how internal apps are made? Thanks to the open source platform that the Android Mobile OS is built on, you can get this information. This how-to-guide shows you how.

By Jbeerdev
Desk Tech
Reading time 4 min read
Word count 710
Google android Mobile Guides
Learn How To Work With the Android Source Code
Advertisement
Quick Take

Ever wonder what Google Android source code looks like so you can see how internal apps are made? Thanks to the open source platform that the Android Mobile OS is built on, you can get this information. This how-to-guide shows you how.

On this page

In this series of articles we are having a look at some tools and resources that make our Android development projects more easy to build. Now its time to talk about the Android source code. Android is an Open Source platform, this means that the source code is available for everybody, like in a GNU/Linux system. Everybody can download, modify and create his “own Android platform”. Even more, we can help the Android community and fix for ourselves code mistakes we can find within this code.

This time, we are going to have a look at the code, to see how Android Apps are put together.

Advertisement

Repository

In the source code web page, we can find all information we need to get the source code. The whole code is about 2Gb, and we will need 6Gb to compile it. Now, we can only use Unix-like machines to compile it, so if we are working under Windows, we can not do that. In our case, we want only have a look to the source code, we don’t want (for now) to compile it.

Lets have a look to the Repository web page we can find a large list of projects. They are the source code of the kernel, framework,libraries, Applications and much more!

Advertisement

First of all we have to know what we are looking for, because if we don’t know that, we can become crazy looking inside the project folders.

Imagine that we want to know how the AlarmClock is programed. We find this project as platform/packages/apps/AlarmClock.git.

Advertisement

Inside every project, we can find deferents tags “Summary, shortlog, log…” we are interested in the “summary” and “tree” ones. Why the “summary”? Here we can find all information about the project we need. In the “tree” tag, we can surf trough the project folders and files.

We have to take account that this code is always changing, they are working with a more advanced SDK than ours. So maybe, some of the “main” branches code would not work in our applications because they depends of the news SDK classes. If we want to get the source code of the public SDK (1.0) we have to go to “release-1.0” line, in the “summary” tag.

Advertisement

If we surf trough the “tree” tag, we can see every java, xml and resource files of the project. We can download them individually or as a package.

Getting the source code

We have to specify the source we want to download, is it a source code of an older version of the SDK? Or is it the source code of the actual development SDK? We are using the “older” version of the SDK, 1.0 (the public one). So in this case we can just download the packages looking for the snapshot tag. This will download the project branch.

Advertisement

If we want to download the, still in development source code, we have to use a external tool:

Git

Advertisement

We can use this tool in all Operating Systems.

So, once we have this installed, to download a full branch of a project just use this command in the command line:

Advertisement

git clone git://android.git.kernel.org/ + project path.

Once this is done, we can have a look inside the folders and files more easily than using the web browser.

Advertisement

Some Hints

We do have to take several other aspects into consideration.

-The main branches of the repository are still in development, so they are using a different SDK that the public one. If you want to get the code from the public SDK (1.0, now) Look in the “release-1.0” link.

Advertisement

-Some classes are NOT PUBLIC like android.os.ServiceManager, android.view.IWindowManager, etc, they are implemented in the mobile devices, but not present in the SDK .jar. This is because these classes are private APIs and may change/disappear in any release

This post is part of the series: How to- Develop Applications on Android: One more step

In this second Serie of articles we will continue working on Android and Eclipse.This time, we will see different resources to make Android apps development more easy.

Advertisement
  1. How to Create Your UI Using DroidDraw
  2. Guide to the Dalvik Debug Monitor Service for Android
  3. Working With The Android Source Code
  4. Guide to Using Google Android Databases
  5. Guide to Android Development Terms
Keep Exploring

More from Tech

Filed under
Google android Mobile
More topics
Guides
Advertisement