[GUIDE]Building AOSP & More


Last Updated:

  1. AndroidHogs

    AndroidHogs Well-Known Member This Topic's Starter

    Joined:
    Aug 25, 2011
    Messages:
    613
    Likes Received:
    62
    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

    Cmdline:
    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

    2.
    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
     

    Advertisement
  2. AndroidHogs

    AndroidHogs Well-Known Member This Topic's Starter

    Joined:
    Aug 25, 2011
    Messages:
    613
    Likes Received:
    62
    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

    Cmdline: cd WORKING_DIRECTORY

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

    1.
    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:

    Cmdline:
    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.

    Example:
    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.

    Finally.

    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Jun 3, 2011
    Messages:
    8,835
    Likes Received:
    2,487
    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

    Joined:
    Jun 3, 2011
    Messages:
    8,835
    Likes Received:
    2,487
    After command line lunch it has a LW670...o_O
     
  6. AndroidHogs

    AndroidHogs Well-Known Member This Topic's Starter

    Joined:
    Aug 25, 2011
    Messages:
    613
    Likes Received:
    62
    That's if you have the device folder from github of that device. :)
     
  7. sammyz

    sammyz LG Whiz Kid Guide

    Joined:
    Jun 3, 2011
    Messages:
    8,835
    Likes Received:
    2,487
    LW670 doesn't exist.
     
  8. AndroidHogs

    AndroidHogs Well-Known Member This Topic's Starter

    Joined:
    Aug 25, 2011
    Messages:
    613
    Likes Received:
    62
    Its an example not tthe actually thing. Lol
     
  9. jruizdesign

    jruizdesign Member

    Joined:
    Mar 24, 2012
    Messages:
    21
    Likes Received:
    1
    edit
     
  10. jruizdesign

    jruizdesign Member

    Joined:
    Mar 24, 2012
    Messages:
    21
    Likes Received:
    1
    Code (Text):
    1. external/zlib/x86/adler32.c:747: error: can't find a register in class
     
  11. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
     
  12. AndroidMoo

    AndroidMoo Well-Known Member

    Joined:
    Nov 4, 2012
    Messages:
    93
    Likes Received:
    15
    Instead of installing ubuntu can I use Xubuntu in a virtualbox?
     
  13. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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
    device/lge/thunderc/MS690
    vendor/lge/thunderc/proprietary/MS690
     
  15. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Jun 3, 2011
    Messages:
    8,835
    Likes Received:
    2,487
    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:
    inferiorhumanorgans
     
  18. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    Code (Text):
    1.  
    2. $repo init -u [url]https://github.com/superiorirkenorgans/android.git[/url]
    3. $repo sync -j16
    4.  
    I have a good feeling about this one :smokingsomb:
     
  20. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    so far
    Code (Text):
    1.  
    2. mk bacon
    3.  
    First we run across the error about missing vendor/lge/thunderc_MS690/proprietary/system/usr/kaychars/thunder_keypad.kcm.bin... ok
    Code (Text):
    1.  
    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
    7.  
    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):
    1.  
    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]
    3.  
    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

    Joined:
    Jun 3, 2011
    Messages:
    8,835
    Likes Received:
    2,487
    Wonder why there are so many errors...
     
  22. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    so I'm stuck on both SIO and IHO

    SIO
    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
    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

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    in the meantime I have posted in xda, and I'll be syncing Reppards repo.
     
  25. t3084

    t3084 Well-Known Member

    Joined:
    Feb 6, 2011
    Messages:
    327
    Likes Received:
    28
    Got a build out of SIO, gonna test it :/
     

Share This Page

Loading...