Just so that anyone can get themselves an idea of the disk size involved right after invoking ‘repo init’ to download and extract all source code for Lollipop, here is the reported size on disk.

These are the statistics before any code has been compiled.

Total count of files:  712,936

Size on disk of the complete AOSP checkout: 49.4 GiB


Note that this size is not static.  It keeps growing and it does not matter if it is an older version such as Jelly Bean.

Therefore, it is very important to consider to start to reduce the size of components that are downloaded.



The Android AOSP master setting for default location access mode is found at this file:


The method below:

public void onCheckedChanged

contains the code to set the default to High Accuracy mode when turning it on


This is a listing of changes I would like to see in the core Android/AOSP

  • Ability to switch between the in-call phone app (not just the dialer). Have configuration settings to switch at will.
  • Ability to compile the telephone app from Eclipse and not from AOSP source code


  • Ability to switch off or reduce sensitivity for the search button system-wide.  The search button can be too sensitive on some devices.  Either have a way to reduce the button’s sensitivity or turn it off.  This button costs valuable user time. Users are not looking to search all the time.


This is a listing of features I would improve with the phone call application.

  • Phone calls may get activated when my phone is in my pocket.

I need a confirmation option that waits for user confirmation before any telephone call gets activated.


Based on the hardware setup I chose in my previous step, I am ready to set up the Lubuntu Linux OS environment.

  • Obtain the CD ISO for Lubuntu Wily Werewolf 64-bit, available from:

URL is:



File name is lubuntu-15.10-desktop-amd64.iso

  • Choose the ‘Install Ubuntu’ option from the Lubuntu menu



  • Select continue on the ‘Prepare to install Lubuntu’ dialog box




  • On the ‘Installation type’ dialog box, if you have the chance to use the entire disk and remove all existing contents permanently, select ‘Erase disk and Install Lubuntu’,  otherwise select ‘Something Else’ for a more detailed installation



The screenshot below shows a posible custom configuration.  This is a 22Gb drive with a single Primary partition. The partition has the ext4 Journal Filesystem with a mount point at root (‘/’)


  • Click on ‘Install now’ when you are done with defining the partitioning.



Next, I will be going through installing additional packages that will be necessary in building the AOSP image.

Subscribe to updates to this blog


(Important: all settings described here are experimental. Check back this post if I case I have to update requirements)

The overall goal of the entire task will be to produce a working image of AOSP with Android 4.2 and deploy it to a Google Nexus 7 device.   At the time of writing 4.2 is the latest released AOSP version.

The image will preferably be a Google Nexus 7 tablet. I believe that any serious AOSP builder should own at least one of the officially supported devices described here.

Another goal is to use as few resources as necessary.  The specifications for building AOSP require lots of memory and hard disk, but I would like to see how low I can go with regards to space.

Starting hardware:

  • Mini-ITX desktop PC using motherboard D945GCLF (Atom) with 1Gb Memory (I am certain to upgrade to 2Gb soon)
  • Lubuntu Desktop OS 15.10 64-bit
  • 20 Gb root partition
  • a 300Gb external drive formatted as FAT-32
  • a Google Nexus 7 tablet (32Gb disk) without GPRS, its codename is ‘grouper’

Why Lubuntu

Although I could have used the standard Ubuntu desktop distribution, I only need basic graphical tools and would not want to spend the extra time in getting up to speed with the newer Unity graphical interface. Lubuntu uses LXDE, one of the lightest graphical environments.

Why 64-bit

64-bit versions have become the Google standard for building Android images.

The AndroVM project gets together the best of both worlds

  • The latest AOSP build
  • The portability and ease of use of VirtualBox

This is a good starting point for any aspiring AOSP developer and it shows how a barebones Android system should behave.


AOSP for the masses

This is really the main goal of this new blog.

When I first learned about the Google AOSP, a project that has released the entire Android source code to produce custom images, the idea has seemed fascinating.

Unfortunately, the first stumbling block is that the project is officially supported  in a limited number of high end telephone and tablet hardware.

Other goals

  • Break free from carrier-dependent distributions
  • Support additional platforms other than the hardware stated at the AOSP website
  • Bring back traditional Linux activities to Android: for example USB Host: plug in any kind of USB device