# by Electrikjesus 12/20/2014 v1.01
# This script is an adaptation of @rharshit\'s script here: http://forum.xda-developers.com/android/development/script-simplest-to-set-android-build-t2953816 . It is intended for use on Ubuntu
echo \'Starting setup process\'
echo \'\'
echo \'Updating...\'
apt-get update
apt-get upgrade
echo \'\'
echo \'Installing java (this might take some time)\' #Alternatively, you can install oracle java
echo \'\'
echo \'Installing java 6...\'
apt-get install openjdk-6-jdk -y
echo \'Installing java 7...\'
apt-get install openjdk-7-jdk -y
echo \'Config java versions\'
echo \'\'
echo "Tip: Choose version 7 for Lollipop and 6 for KitKat and below"
echo \'\'
echo \'- Configure java\'
update-alternatives --config java
echo \'- Configure javac\'
update-alternatives --config javac
echo \'- Configure javadoc\'
update-alternatives --config javadoc
echo \'\'
echo \'looks like there is an issue with icedtea... fixing that real quick\'
cd /usr/lib/jvm
ln -s java-1.7.0-openjdk-amd64 java-8-openjdk-amd64
apt-get purge icedtea-plugin
apt-get purge icedtea-7-plugin
apt-get purge icedtea-netx
apt-get install icedtea-plugin
echo \'-now on to GCC compiler\'
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
echo \'-adding repo\'
sudo apt-get update
echo \'-updating and installing GCC\'
sudo apt-get install gcc-4.7
echo \'-Configuring GCC\'
sudo update-alternatives --config gcc
echo \'\'
echo \'-installing git-core, curl, and other repo stuff\' #Installing git-core, curl, and other repo stuff. Doing this in parts just in case it fails.
echo \'\'
echo \'(1)\'
apt-get install git gnupg flex bison gperf build-essential -y
echo \'(2)\'
apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev -y
echo \'(3)\'
apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 -y
echo \'(4)\'
apt-get install libgl1-mesa-dev g++-multilib mingw32 tofrodos -y
echo \'(5)\'
apt-get install python-markdown libxml2-utils xsltproc zlib1g-dev:i386 -y
echo \'Linking libGL\'
ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
echo \'Getting your identity...\'
export USER=$(whoami | sed \'s/\\\\/\\\\\\\\/\')
echo "Your identity is" $USER
echo \'Configuring USB Access using your identity...\' #Don\'t need to update /etc/udev/rules.d/51-android.rules manually
echo \'\'
echo \'# adb protocol on passion (Nexus One)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on passion (Nexus One)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on crespo/crespo4g (Nexus S)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on crespo/crespo4g (Nexus S)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on stingray/wingray (Xoom)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on stingray/wingray (Xoom)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on maguro/toro (Galaxy Nexus)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on maguro/toro (Galaxy Nexus)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on panda (PandaBoard)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on panda (PandaBoard ES)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on panda (PandaBoard)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# usbboot protocol on panda (PandaBoard)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# usbboot protocol on panda (PandaBoard ES)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on grouper/tilapia (Nexus 7)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on grouper/tilapia (Nexus 7)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# adb protocol on manta (Nexus 10)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'# fastboot protocol on manta (Nexus 10)\' >> /etc/udev/rules.d/51-android.rules
echo \'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="\'$USER\'"\' >> /etc/udev/rules.d/51-android.rules
echo \'\'
echo "Downloading and Configuring Android SDK!!"
echo "Making sure unzip is installed"
echo \'\'
echo \'-Preparing for Android SDK\'
sudo apt-get install unzip $PARAM
if [ `getconf LONG_BIT` = "64" ]
then
echo
echo "Downloading 64 bit Android SDK"
wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip
echo "Extracting"
mkdir ~/adt-bundle
mv adt-bundle-linux-x86_64-20140702.zip ~/adt-bundle/adt_x64.zip
cd ~/adt-bundle
unzip adt_x64.zip
mv -f adt-bundle-linux-x86_64-20140702/* .
echo "Configuring environment"
echo -e \'\\n# Android tools\\nexport PATH=${PATH}:~/adt-bundle/sdk/tools\\nexport PATH=${PATH}:~/adt-bundle/sdk/platform-tools\\nexport PATH=${PATH}:~/bin\' >> ~/.bashrc
echo -e \'\\nPATH="$HOME/adt-bundle/sdk/tools:$HOME/adt-bundle/sdk/platform-tools:$PATH"\' >> ~/.profile
echo "Making shortcuts"
ln -s ~/adt-bundle/eclipse/eclipse ~/Desktop/Eclipse
ln -s ~/adt-bundle/sdk/tools/android ~/Desktop/SDK-Manager
echo "Done"
else
echo
echo "Downloading 32 bit Android SDK"
wget http://dl.google.com/android/adt/adt-bundle-linux-x86-20140702.zip
echo "Download Complete!!"
echo "Extracting"
mkdir ~/adt-bundle
mv adt-bundle-linux-x86-20140702.zip ~/adt-bundle/adt_x86.zip
cd ~/adt-bundle
unzip adt_x86.zip
mv -f adt-bundle-linux-x86_64-20140702/* .
echo "Configuring environment"
echo -e \'\\n# Android tools\\nexport PATH=${PATH}:~/adt-bundle/sdk/tools\\nexport PATH=${PATH}:~/adt-bundle/sdk/platform-tools\\nexport PATH=${PATH}:~/bin\' >> ~/.bashrc
echo -e \'\\nPATH="$HOME/adt-bundle/sdk/tools:$HOME/adt-bundle/sdk/platform-tools:$PATH"\' >> ~/.profile
echo "Making shortcuts"
ln -s ~/adt-bundle/eclipse/eclipse ~/Desktop/Eclipse
ln -s ~/adt-bundle/sdk/tools/android ~/Desktop/SDK-Manager
echo "Done"
fi
echo \'Installing DSIXDA Android Kitchen\'
echo \'\'
cd ~/Downloads
wget https://github.com/dsixda/Android-Kitchen/archive/master.zip
unzip master.zip
mv -f Android-Kitchen-master ~/Android-Kitchen
echo -e \'\\n#!/bin/bash\\ncd ~/Android-Kitchen\\n./menu\' >> ~/Android-Kitchen/kitchen
chmod 755 ~/Android-Kitchen/kitchen
ln -s ~/Android-Kitchen/kitchen ~/bin/kitchen
ln -s ~/Android-Kitchen/kitchen ~/Desktop/Android-Kitchen
echo \'Done\'
echo \'Making "bin" directory and adding path...\'
mkdir /bin
PATH=/bin:$PATH
echo \'Downloading...\'
echo \'\'
curl https://storage.googleapis.com/git-repo-downloads/repo > /bin/repo
echo \'Setting permissions...\'
chmod a+x /bin/repo
echo \'Script Done!\'
echo "Now to copy these lines into your .bashrc"
echo \'JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64\' >> ~/.bashrc
echo \'export JAVA_HOME\' >> ~/.bashrc
echo \'export USE_CCACHE=1\' >> ~/.bashrc
echo \'export CCACHE_NLEVELS=4\' >> ~/.bashrc
echo \'env PATH=$PATH\' >> ~/.bashrc
echo "Now just double-check to make sure there aren\'t any duplicates"
gedit ~/.bashrc
echo \'\'
echo \'All DONE!!\'