• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [GUIDE]Building AOSP & More

AndroidHogs

Android Enthusiast
Aug 25, 2011
612
62
33
Tuckerman, AR
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
 
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. :)
 
Upvote 0
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.
 
Upvote 0
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.

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
 
Upvote 0
so far
Code:
mk bacon
First we run across the error about missing vendor/lge/thunderc_MS690/proprietary/system/usr/kaychars/thunder_keypad.kcm.bin... ok
Code:
#cd ~/Android/SuperiorIrkenOrgans/vendor/lge/thunderc_MS690/proprietary/system/usr/keychars
#ls
thunderc.kcm.bin
#mv thunderc.kcm.bin thunder_keypad.kcm.bin
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:
[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..
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones