Droidcon India 2013

What's your thinking on Android this year?

Building your own ROMs

Submitted by Hiemanshu Sharma (@hiemanshu) on Saturday, 28 September 2013

Section: Workshops Technical level: Intermediate Status: Confirmed


This is a workshop that will help you with building ROMs for the devices that are currently supported by CyanogenMod.


I will cover details on getting the source code (I will have a recent copy of it with me so we dont waste bandwidth), setting up your machine to build ROMs, and how to do the most common tasks and debugging that go on with building ROMs.


A decently powerful laptop (1 hour compile time on an i7, about 2.5 hours on an i5, and 4 hours on a Core2Duo) running Ubuntu with atleast 40G of Space. Bring along an Android device that possibly supports CyanogenMod. (List is here http://en.wikipedia.org/wiki/List_of_devices_supported_by_CyanogenMod)

Complete the instructions at http://forum.xda-developers.com/showthread.php?t=2404841 until you reach the syncing part. If you have the bandwidth, feel free to download it (syncing the code), the source is about 10GB in size, otherwise I will have a local copy of the source as well.

Speaker bio

A long time ROM developer, CyanogenMod contributor, former Fedora Contributor and Hacker. Having used Android for a while I started playing around with ROM building and fell in love. I love working on redesigning some of the popular apps for fun in my free time. Design, code and games, three thing I couldn't live without.



  •   Aravind Krishnaswamy (@arg0s) 6 years ago

    Thanks for getting the proposal in, Hiemanshu. Looking forward to your other session proposal as well.

  •   aravind (@aravindkamble) 6 years ago

    What version of Ubuntu is needed for this workshop?

    •   Hiemanshu Sharma (@hiemanshu) Proposer 6 years ago

      Anything from 11.04 to 13.10 will work.

  •   karan rajpal (@amigokaran) 6 years ago

    Hi there. Looking forward to your workshop. I’m using a Mac. Will that be ok?

  •   aravind (@aravindkamble) 6 years ago

    Hi Himanshu,
    I have been trying to setup my machine as instructed in http://forum.xda-developers.com/showthread.php?t=2404841 . I have setup Ubuntu 13.10 64 bit. I have downloaded and installed ADT bundle from http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip as mentioned on the xda site.

    For folloing steps I am getting errors.

    Step 1: While installing ia32-libs

    aravind@DROID:~$ sudo apt-get install ia32-libs

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package ia32-libs is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    lib32z1 lib32ncurses5 lib32bz2-1.0

    E: Package ‘ia32-libs’ has no installation candidate

    Step 2: While running adb and fastboot

    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ ./adb
    bash: ./adb: No such file or directory
    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ ./fastboot
    bash: ./fastboot: No such file or directory
    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ adb
    The program ‘adb’ is currently not installed. You can install it by typing:
    sudo apt-get install android-tools-adb
    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ ls
    adb api fastboot NOTICE.txt source.properties systrace
    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ ./adb
    bash: ./adb: No such file or directory
    aravind@DROID:~/android/adt-bundle-linux-x86_64-20130729/sdk/platform-tools$ sudo ./adb
    sudo: unable to execute ./adb: No such file or directory

    Could you please help me fix these problems.

    •   Hiemanshu Sharma (@hiemanshu) Proposer 6 years ago

      adb and fastboot doesn’t run because of the missing ia32-libs. Apparently ia32-libs isnt available on 13.10, so you need to run the following commands:

      sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
      sudo apt-get install lib32z1

      And this should make both of it work.

  •   aravind (@aravindkamble) 6 years ago

    Thanks Himanshu. That helped. The repo is syncing now.

  •   aravind (@aravindkamble) 6 years ago (edited 6 years ago)

    Sync is done! You mentioned that its about 10 GB. I wonder how it got synced so soon. Did I miss something? Is there a way to confirm that the sync has downloaded the content properly?

  •   Aniket Lamba (@aniket06) 5 years ago

    Hi there,I just wanna ask that can I sync a ROM source on Fedora 20? I just need to sync the source to my host and I’ll build the ROM on my Ubuntu 14.04 virtual machine.Does syncing a source requires some build environment modules pre-installed? Do reply.

Login with Twitter or Google to leave a comment