1. Download the #1 Android News App:   EarlyBird - News for Android
    Dismiss Notice

[GUIDE]Building AOSP & More

Last Updated:

  1. AndroidHogs

    AndroidHogs Well-Known Member

    I'm Start this thread to give a guide to building Rom's for Android Platform.

    Step 1:
    Download and Install Ubuntu as a Primary Partition or a Secondary Partition to Dual Boot from Vista/Win7/XP

    1. Ubuntu 10.04 x86

    2. Ubuntu 10.04 x64

    Step 2: You can install these in two different ways:

    1. Burning to a DVD as a ISO image and booting it up.

    2. Or Using MagicISO

    Step 3: Setting up the environment and getting Java: "Please Open Terminal"

    1. Froyo or Earlier:

    Cmdline: sudo add-apt-repository "deb Index of /ubuntu jaunty-updates main multiverse"

    Cmdline: sudo apt-get update

    Cmdline: sudo apt-get install sun-java5-jdk

    2. GingerBread or Newer:

    Cmdline: sudo add-apt-repository ppa:ferramroberto/java

    Cmdline: sudo apt-get update

    sudo apt-get install sun-java6-jdk

    Step 4: Getting required dependencies files.

    1. Ubuntu is a lil tricky. You will get some files that say their not their and i know one of them is lib32curses-dev.
    So this will be a replace which worked for me.

    1. libcurse5-dev Ubuntu 10.04 AMD x86

    cmdline: sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltproc

    If any other files get an error please let me know and I'll add them to this Thread.

    3. 64-bit Ubuntu 10.04
    cmdline: sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltproc

  2. AndroidHogs

    AndroidHogs Well-Known Member

    Step 5: Downloading the Source

    1: Making the Bin directory for Repo.

    Cmdline: mkdir ~/bin

    Cmdline: PATH=~/bin:$PATH

    2. Making Repo Executable

    Cmdline: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

    Cmdline: chmod a+x ~/bin/repo

    If Repo gives a error on next step please Repeat Part 5 but before. Go to your home folder an delete bin file and then continue.

    Step 6: Making your build Folder

    Cmdline: mkdir WORKING_DIRECTORY


    Step 7: Calling the Manifest First Command is just a default Manifest.

    Cmdline: repo init -u https://android.googlesource.com/platform/manifest

    2. Calling the Real Manifest for Requiring the Committed files.

    Cmdline: repo init -u https://android.googlesource.com/platform/manifest -b "Tag Name"

    Platform: Tag Name:
    Froyo : android-2.2.3_r2
    Gingerbread : android-2.3.7_r1
    Ice Cream Sandwich : android-4.0.4_r2.1
    JellyBean : android-4.1.1_r4

    Step 7B:
    Getting Cyanogenmod Source:

    git clone https://github.com/CyanogenMod/android.git

    Cmdline: git checkout "branch name"

    Platform: Branch Name:

    CM7: cm-7.0.3
    CM9: ics

    Step 7: Now Getting all the needed files.

    Cmdline: repo sync

    When that is now. Now its time to build. :)

    Step 8: Building

    Getting the Correct Files for you device and what is needed.

    1. Device folder, Vendor folder for the device.
    For example on device you should have.

    device/thunderc/lge/Required files for device.

    vendor/MS690/More files.

    3. Building after files are in place.

    Cmdline: source build/envsetup.sh or "Period" build/envsetup.sh

    "Period"= .

    after you do this now do.

    Cmdline: lunch

    Now a setup of names will come up. look for the one that is your device. You can press the number is instead of typing the name.

    1. Full-eng
    2. MS690-debug
    3. LW670-debug
    4. LG690-debug

    #1 builds entire source.

    2,3 and 4 are device's to pick from.


    Step 9:

    Depending on how many core's you have. Such as

    Single Core: make -j2
    Dual Core: make -j4
    Quad Core: make -j8

    This is saying have 2 thread pre-core.

    Now Just wait to see if it builds and hope for no errors. :)
  3. t3084

    t3084 Well-Known Member

    nice now you gotta show how to checkout someones github :D

    on a side note, I think step 3 you meant "Froyo or earlier"?
  4. sammyz

    sammyz LG Whiz Kid Guide

    Step 3, first command line screwed up...don't forget to use code tags so links wont parse.
  5. sammyz

    sammyz LG Whiz Kid Guide

    After command line lunch it has a LW670...o_O
  6. AndroidHogs

    AndroidHogs Well-Known Member

    That's if you have the device folder from github of that device. :)
  7. sammyz

    sammyz LG Whiz Kid Guide

    LW670 doesn't exist.
  8. AndroidHogs

    AndroidHogs Well-Known Member

    Its an example not tthe actually thing. Lol
  9. jruizdesign

    jruizdesign Member

  10. jruizdesign

    jruizdesign Member

    Code (Text):
    1. external/zlib/x86/adler32.c:747: error: can't find a register in class
  11. t3084

    t3084 Well-Known Member

  12. AndroidMoo

    AndroidMoo Well-Known Member

    Instead of installing ubuntu can I use Xubuntu in a virtualbox?
  13. t3084

    t3084 Well-Known Member

    Yes you may, though they maybe SLIGHTLY diffrerent, the main difference is that instead of Gnome/Unity being the Desktop Environment, it comes loaded with XFCE.
    AndroidMoo and sammyz like this.
  14. t3084

    t3084 Well-Known Member

    So i got my Virtual Machine up with 10.04 x64 with 2cores and 2GB ram.

    You know what my biggest dilemma is right now??? Deciding who's repo I want to check out for device and vendor info...

    which by the way seems to need a folder order of
  15. t3084

    t3084 Well-Known Member

    ok, So i have cloned BobZhome's repo's for vendor and device tree... if all goes well i should be able to compile a flash-able build?? or is there something missing?
  16. t3084

    t3084 Well-Known Member

    so seeing as how I followed the instructions before, and like on many other instructions before, I can't seem to get the option of MS690 in brunch or lunch... so I pulled out the google and it seems inferiorhumanorgans is the repo to sync from instead of directly from Cyanogen, as it has support for the MS690.

    Can we get a list of repos? I'll post what I can find.
  17. sammyz

    sammyz LG Whiz Kid Guide

    I thought you would have known this already :rolleyes:
    Inferior Human Organs is also called IHO.
    They have a github ;)
    Its one word on github:
  18. t3084

    t3084 Well-Known Member

    tl;dr wut? :p lol well this is my first serious attempt at compiling the rom, and I figured i would follow this guide to see how it works in relation to our device.... I think step 7 needs to be defined slightly more.
  19. t3084

    t3084 Well-Known Member

    Code (Text):
    2. $repo init -u [url]https://github.com/superiorirkenorgans/android.git[/url]
    3. $repo sync -j16
    I have a good feeling about this one :smokingsomb:
  20. t3084

    t3084 Well-Known Member

    so far
    Code (Text):
    2. mk bacon
    First we run across the error about missing vendor/lge/thunderc_MS690/proprietary/system/usr/kaychars/thunder_keypad.kcm.bin... ok
    Code (Text):
    2. #cd ~/Android/SuperiorIrkenOrgans/vendor/lge/thunderc_MS690/proprietary/system/usr/keychars
    3. #ls
    4. thunderc.kcm.bin
    5. #mv thunderc.kcm.bin thunder_keypad.kcm.bin
    6. mka bacon
    compiled into another error about liboemcamera.so not being present, libcamera.so is, after noticing similarities is this error and the previous error, I looked into device/lge/thunderc_common/thunderc_common.mk since the entire build is inherited from this. i edited liboemcamera.so to libcamera.so since it was present.

    compiled and here we get 137 errors that looks like
    Code (Text):
    2. [COLOR="Red"]device/lge/thunderc_MS690/overlay/packages/apps/Phone/res/values/strings.xml:12: error: Resource at notAvailable appears in overlay but not in the base package; use <add-resource> to add.[/COLOR]
    ok, so I commented out each error line in device/lge/thunderc_MS690/overlay/packages/apps/Phone/res/values/strings.xml.

    started mka bacon again and now we get errors with proguard. googled what progaurd is and added -keep -keepclassmemebers -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers into packages/apps/AndroidTerm/proguard.cfg

    mka bacon
    ... and now i have time to finish my post while waiting for either a build... or another error to fix..
  21. sammyz

    sammyz LG Whiz Kid Guide

    Wonder why there are so many errors...
  22. t3084

    t3084 Well-Known Member

    so my internet is being weird... and the rsult so far are

    with SIO i can't seem to get past proguard. I moved a couple files in from IHO and it cleared a few problems, but now I can seem to find livewallpaperpicker in packages/apps...

    with IHO I've run into a problem with /packages/apps/phone...
  23. t3084

    t3084 Well-Known Member

    so I'm stuck on both SIO and IHO

    SIO-MS690-error - Pastebin.com
    searches only lead me to a proguard issue, but it's really vague. the only proguard.cfg I can find is in packages/apps/androidterm
    IFO-ms690-error - Pastebin.com
    yea.... I looked at the code for the offending files, and they are no different from SIO...
  24. t3084

    t3084 Well-Known Member

    in the meantime I have posted in xda, and I'll be syncing Reppards repo.
  25. t3084

    t3084 Well-Known Member

    Got a build out of SIO, gonna test it :/

Share This Page