[Sprint HTC One (M7)] HTC_M7:
Build Environment

Instructions For Setting up a Build Environment for Linux

Make sure you are 64-bit

Have a big hard drive

A good amount of ram

If you dont have java already. Get it.

sudo apt-get install openjdk-6-jdk

You will also need python

sudo apt-get install python

And git

sudo apt-get install git-core

Android SDK:

I showed you guys how to get it in the first post.

Now open your home folder and press Ctrl+H to show hidden files, and open up a file called .bashrc.

Add these lines to the bottom of .bashrc:

# Android tools

export PATH=${PATH}:~/SDK/tools

export PATH=${PATH}:~/SDK/platform-tools

export PATH=${PATH}:~/bin

Now you should also find .profile file in the same place you found .bashrc file. Add this to that file:

PATH="$HOME/SDK/tools:$HOME/SDK/platform-tools:$PATH"

After that you need to install these packages:

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

On Ubuntu 12.04:

sudo apt-get install git gnupg flex bison gperf build-essential \

zip curl libc6-dev libncurses5-dev x11proto-core-dev \

libx11-dev libreadline6-dev libgl1-mesa-glx \

libgl1-mesa-dev g++-multilib mingw32 tofrodos \

python-markdown libxml2-utils xsltproc zlib1g-dev

Also this:

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Now Configure your USB.

Type :

gksudo gedit /etc/udev/rules.d/51-android.rules

A blank text will open and now add this code and save:

#Acer

SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"

#ASUS

SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"

#Dell

SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"

#Foxconn

SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"

#Garmin-Asus

SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"

#Google

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"

#HTC

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"

#Huawei

SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"

#K-Touch

SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"

#KT Tech

SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"

#Kyocera

SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"

#Lenevo

SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"

#LG

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"

#Motorola

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"

#NEC

SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"

#Nook

SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"

#Nvidia

SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"

#OTGV

SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"

#Pantech

SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"

#Philips

SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"

#PMC-Sierra

SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"

#Qualcomm

SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"

#SK Telesys

SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"

#Samsung

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"

#Sharp

SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"

#Sony Ericsson

SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"

#Toshiba

SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"

#ZTE

SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"

Once you have saved the file type this:

sudo chmod a+r /etc/udev/rules.d/51-android.rules

Now install your repository:

Type the following:

mkdir ~/bin

PATH=~/bin:$PATH

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

chmod a+x ~/bin/repo

Now all you have to do is initialize your repository and then make a working folder and sync:

mkdir WORKING_FOLDER

cd WORKING_FOLDER

So lets just say you want to sync and build cm10.1 you need the repo so once you cd into the directory type this:

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

While that runs in the terminal it is going to ask you to put in your name and email address.

Once all thats done just type:

repo sync

And your good to go. Thats where I stop for now. Any questions just ask.