[Galaxy Tab 2 7" Android Development] CodyF86:
Hi, yeah I went too hard burnt myself out haha, but I'm back, for anyone who wanted directions on how to build CM

here is my cheat sheet, it's pretty much exactly what I do, with some extra goodies at the end.

NOTE: I use certain device specific projects from my Github, so this actually prob would just work, but don't expect it to.

This was my cm-10.2 cheatsheet, but I replaced cm-10.2 with cm-11.0, haven't built cm-11.0 yet, because it's still syncing haha.

I'm going to

let my thread die

don't bump it please. I just bumped it once earlier saying I was back. :)

I'll make a new one when I get cm-11.0 booting.

---------------------------------------------------------------

So, start off with a fresh install of Ubuntu 13.10:

Install official Java JDKs:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main"

sudo apt-get update

sudo apt-get install sun-java5-jdk sun-java6-jdk oracle-java7-installer

http://xdaforums.com/showthread.php?t=2021510 (reference)

1: Install these packages from the software manager:

git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential

zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils

xsltproc g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib

2: Make two directories in your home folder:

mkdir -p ~/bin

mkdir -p ~/android/system

3: Run this command to get the repo files:

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

4: Run this command to make sure the file can run:

chmod a+x ~/bin/repo

5: Run this command to add a directory to your bash install:

gedit ~/.bashrc

7: Copy this onto the last possible line on the config file:

export PATH=${PATH}:~/bin

8: Now change to the android root directory:

cd ~/android/system

9: Now run this command to be able to sync with the cyanogenmod repos:

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

10: This command will sync your directory to the github for cyanogenmod:

repo sync

11: Next, make a file called proprietary_vendor_samsung.xml:

.repo/local_manifest/proprietary_vendor_samsung.xml

12: Add this on its own new line (Use this repo for Samsung proprietary files.):

<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-11.0" />

13: Now run repo sync to see the result of you changes. If you get any errors then you did something wrong:

repo sync

14: Change to this directory:

cd ~/android/system/vendor/cm

15: Run this script to help setup your build environment:

./get-prebuilts

16: CD to the android root:

cd ~/android/system

17: Run this command to setup the build environment further:

source build/envsetup.sh

18: Run this to config the build environment for you specific device:

breakfast p3110

20: Now type this command to start the compiling process:

brunch p3110

21: Type this to go to your output folder where the cm-11.0-whateverdate-UNOFFICIAL-*****.zip is:

cd $OUT

21: How to revert a commit / push:

git reset --hard HEAD~1 (revert commit)

git push origin HEAD --force (push reverted commit)

22: Command to tar .img files.

$ tar cvf recovery-image.tar recovery.img

23: How to manually root (Including emulator).

If you are rooting an emulated rom, issue this command to boot it:

emulator -avd <YOUR_AVD_NAME> -partition-size 512

adb connect <ip address or device name>

adb root

adb remount

adb push <Your Super User App>.apk /system/app/

adb push su /system/bin/su

adb push su /system/sbin/su

adb push su /system/xbin/su

adb shell chmod 6755 /system/bin/su

adb shell chmod 6755 /system/sbin/su

adb shell chmod 6755 /system/xbin/su

adb kill-server

adb start-server