[HOW TO] Set Up Ubuntu 15.10 Wily Werewolf to Compile Android ROMs

— If you would rather use a ready-to-go Virtual Machine based on these instructions, check out this post!

With a new version of Ubuntu comes an update to my guide for setting up a build environment to compile Android ROMs. The aim of this is to simplify the configuration process and teach a little bit about the command line.

Follow the directions step-by-step. All you have to do is copy and paste the code in order and it will be up and running in no time!

This guide applies to all variations of Ubuntu 15.10 Wily Werewolf 64 bit. Do not use the 32 Bit version.

Also, PAY CLOSE ATTENTION when to use “sudo” and when to not. It can make things funky if you do something as root that you shouldn’t.

Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.

Ready to begin? Ok.

1) Unless it’s a completely fresh Ubuntu installation, many of you have the wrong version of Java installed. Let’s fix that first.

The command below makes sure you’re starting with a clean slate. Copy and paste it into a terminal (command prompt) window:

sudo apt-get remove openjdk-* icedtea-* icedtea6-*

If necessary, follow the on-screen instructions to remove any stray Java versions. Otherwise, move on to the next step.

2) Install the main build tools with this command:

sudo apt-get install openjdk-7-jdk git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven

That’s it on the package side of things.

3) “repo” communicates with git servers for all that precious source code. The next command will grab it:

mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo

4) Use your favorite text editor to open ~/.bashrc – I like nano:

nano ~/.bashrc

5) At the very bottom (use the Page Down key) paste this code to a new line:

export PATH=~/bin:$PATH
export USE_CCACHE=1

6) Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:

source ~/.bashrc

7) In the terminal, navigate to where you would like to download the Android source code. The commands below will make it in your home folder, but if you have limited space you may want to create it somewhere else. Faster is better, i.e. SSD would be best, USB external (even 3.0) will be comparatively slow. Here we go:

mkdir ~/android
cd ~/android

8) Now you’re going to initialize the repo. This is where you decide the flavor of Android you want to build, i.e. AOKP, CyanogenMod, AOSP etc.

For the purposes of the tutorial, here’s the command for SimpleAOSP Lollipop:

repo init -u https://github.com/SimpleAOSP-Lollipop/platform_manifest.git -b L

9) Last step. Time to get the source, many gigabytes of downloading await.

Don’t worry, it’s automated.

Hey everyone, it’s the final terminal command!

repo sync

Check back periodically every hour or so. It all depends on how fast your connection is.

That should be everything. Now you are ready to build Android. Good luck!

If this guide helped you out, feel free to buy me a coconut water (donate). It would be greatly appreciated!

If you want to build Gingerbread thru KitKat, here’s the easiest way to change Java versions:

First add the PPA for older Java 1.6 builds.

sudo add-apt-repository ppa:webupd8team/java

Then install:

sudo apt-get update && sudo apt-get install oracle-java6-installer

Once that completes, you simply need to tell Linux to use the older version of Java and Java Compiler to render content.

Run the following two commands separately, making the correct selection for Oracle JDK 1.6 both times when prompted. Again in the terminal:

sudo update-alternatives --config java
sudo update-alternatives --config javac

That should do the trick!

  5 comments for “[HOW TO] Set Up Ubuntu 15.10 Wily Werewolf to Compile Android ROMs

  1. minipower50
    December 17, 2015 at 7:04 pm

    Total life noob here. I think I correctly tried to switch the java from 7 to 6 using the
    sudo add-apt-repository ppa:webupd8team/java

    But it looks like the package has been updated, removing the java 6 install option.

    • minipower50
      December 22, 2015 at 2:02 pm

      Wanted to follow up on how I got and installed java 6, since it is not available any more from the mentioned way.
      Please tell me if this is OK, or if I should have done it differently.
      I followed the instructions from this webpage https://community.freescale.com/thread/331606 from the second part after the — Installing Sun JDK 6 Add PPA to system part. It starts with.

      If not (I have had trouble with this i the past), do to this variation:

      I had to make an account on the Oracle site, to allow me to download the older versions.

  2. Joel
    March 5, 2016 at 9:01 am

    What repo would I add if I was looking to create a Roman for the galaxy tab s2?

  3. April 5, 2016 at 7:51 pm

    Maven is now required to build CM 13 so can you please add it as a note underneath the build deps for AOSP?

    • April 5, 2016 at 9:39 pm

      Added, thanks!

      It’s in the updated guide for 16.04, just forgot to add it retroactively.

Leave a Reply

Your email address will not be published. Required fields are marked *