Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,738,603 Members 41,430 Now Online
XDA Developers Android and Mobile Development Forum

[GUIDE] Setup Android Development Environment on Ubuntu 13.04+

Tip us?
 
matt95
Old
(Last edited by matt95; 23rd July 2014 at 02:52 AM.)
#1  
matt95's Avatar
Recognized Contributor - OP
Thanks Meter 2325
Posts: 5,779
Join Date: Aug 2010
Location: Verona

 
DONATE TO ME
Default [GUIDE] Setup Android Development Environment on Ubuntu 13.04+



Hi guys and future devs here you will find a very helpful guide on how to setup the android development so that you can basically do anything you want!
I'll suggest you many useful programs that are needed in this field
In this guide I'll be using Ubuntu 13.04 but probably this will also work on 12.04-12.10 and future releases!



Ok now let's begin with the real stuff

INSTALL UBUNTU

The first thing you'll need to do is obviously the ubuntu installation, unfortunately i won't cover this part of the guide cause I think that everyone who is looking at this guide knows how to install an OS on a Desktop (hope so)

Download


SETUP ANDROID DEVELOPMENT ENVIRONMENT
WHAT WE NEED
1- JDK 6(Java Development Kit) NOTE: you will need to sign in the oracle site for this version of java unfortunately )
2- GNU Make (Optional)
3- Python 2.7
4- Git 1.7
5- Android SDK
6- Some more packages


INSTALLATION

JDK

Installing the JDK is pretty tricky and stressful every time
First, download the JDK 6, which you can download here. Download the .bin file! (in this case my JDK has been downloaded in the ~/Download folder and my file is named jdk-6u45-linux-x64.bin)
Open up your terminal and type

Code:
Select Code
$ sudo mkdir /usr/lib/jvm
$ cd ~/Downloads/
$ chmod +x jdk-6u45-linux-x64.bin
$ ./jdk-6u45-linux-x64.bin
$ sudo mv jdk1.6.0_45 /usr/lib/jvm/
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 1
$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_45/bin/javaws 1
$ java -version
Ok, if you did everything fine you should now have the JDK installed correctly
GIT

This is the easiest one
Code:
Select Code
$ sudo apt-get install git
$ y
PYTHON

Download the 2.7.5 version or newer here
Code:
Select Code
$ cd ~/Downloads/
$ tar -xzvf Python-2.7.5.tgz
$ cd Python-2.7.5/
$ ./configure
$ make
$ sudo make altinstall
GNU

You don't need this step, do this just if you want the latest version of GNU Make
Download the latest version here

Code:
Select Code
$ cd ~/Downloads/
$ tar -zxvf make-3.82.tar.gz
$ cd make-3.82
$ ./configure
$ make
$ sudo make install
OTHER PACKAGES

These packages are needed to run many many android commands such as ADB and FASTBOOT (only 64-bit needs this)
Code:
Select Code
$ sudo apt-get install ia32-libs
$ y
This will take about 20 mins especially if you have a slow processor or internet connection so relax and have a coffee
ANDROID SDK

This will be your best friend from now on
Download it here > download for other platforms > download the sdk tools only
Ok now i always create a Development folder where i put all the android development stuff (you can do whatever you think here)

Code:
Select Code
$ mkdir ~/development
$ cd ~/Downloads
$ tar -zxvf android-sdk_r22.0.1-linux.tgz
$ mv ~/Downloads/android-sdk-linux ~/development/
Now you're ready to run the Android SDK
SETUP ADB/FASTBOOT

Open up the Android SDK by running this command
Code:
Select Code
$ cd ~/development/android-sdk-linux/tools
$ ./android
At this point the SDK should come up and you will need to download at least all the tools and all the extras files, so select them and install'em.
When it finishes downloading everything you have to run this commands in another terminal
Code:
Select Code
$ sudo gedit .bashrc
And you need to add at the end of it your SDK paths

Code:
Select Code
#Android PATHS
export PATH=$PATH:~/development/android-sdk-linux/tools
export PATH=$PATH:~/development/android-sdk-linux/platform-tools
If you followed everything now adb and fastboot should work!
to check this you need to close all the terminals opened, reopen one and simply type
Code:
Select Code
$ adb
$ fastboot
You should get a long list of possible commands if so you're done!
FIXING NO PERMISSIONS ERROR
Probably, if you run
Code:
Select Code
$ adb devices
or 
$ fastboot devices
right now you'll get a strange output, something like this
Code:
Select Code
???????? No permissions
In order to avoid this message we have to create a simple file
Code:
Select Code
$ cd /tmp/
$ touch android.rules
$ nano android.rules
Now you have to paste this lines in that file and save it
Code:
Select Code
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
Now you have to set the right permissions to this file, just type
Code:
Select Code
$ sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
$ sudo chmod 644   /etc/udev/rules.d/51-android.rules
$ sudo chown root. /etc/udev/rules.d/51-android.rules
$ sudo service udev restart
$ sudo killall adb

SUGGESTED PROGRAMS

ECLIPSE

In the Android world you don't want to miss the Eclipse IDE which is the most used one! This tool will help you developing/making android apps
You can download it here (download the classic one)
Code:
Select Code
$ cd ~/Downloads
$ tar -zxvf eclipse-SDK-4.2.2-linux-gtk-x86_64.tar.gz
$ mv ~/Downloads/eclipse ~/development/
SETUP INFO


NOTE: If you download the entire ADT bundle provided by google you will get the SDK and Eclipse IDE together
ANDROID STUDIO (Recommended)
This is the new development IDE made in Google, personally i love it! We are now on version 8.2 BETA and I have to say that it's a really really good loking and powerful IDE.
You can download it from here
It has a lot of new features that Eclipse doesn't have and it could be useful in some cases

Code:
Select Code
$ cd ~/Downloads
$ tar -zxvf android-studio-bundle-130.687321-linux.tgz
$ mv ~/Downloads/android-studio ~/development/
To run it you just need to navigate to its bin folder and type
Code:
Select Code
$ ./studio.sh


Donate and support my studies at the MIT University! Unruu HTC RUUs | Setup Android Development Environment on Ubuntu | Decrypt HTC RUUs
The Following 145 Users Say Thank You to matt95 For This Useful Post: [ Click to Expand ]
 
soham jambhekar
Old
#2  
soham jambhekar's Avatar
Senior Member
Thanks Meter 188
Posts: 479
Join Date: Dec 2011
Location: Mumbai
hey nice guide !
I personally am a ubuntu 13.04 user
just one suggestion , you can add in your thread alternate way of downloading the whole ADT bundle and setting it up; so that separate installation of sdk eclipse adt plugin etc is not required

Sent from my GT-S5670 using xda premium
Sent from an Awesome Galaxy called Fit
The Following User Says Thank You to soham jambhekar For This Useful Post: [ Click to Expand ]
 
matt95
Old
#3  
matt95's Avatar
Recognized Contributor - OP
Thanks Meter 2325
Posts: 5,779
Join Date: Aug 2010
Location: Verona

 
DONATE TO ME
Quote:
Originally Posted by soham jambhekar View Post
hey nice guide !
I personally am a ubuntu 13.04 user
just one suggestion , you can add in your thread alternate way of downloading the whole ADT bundle and setting it up; so that separate installation of sdk eclipse adt plugin etc is not required

Sent from my GT-S5670 using xda premium
that's right i'll add this later!


Donate and support my studies at the MIT University! Unruu HTC RUUs | Setup Android Development Environment on Ubuntu | Decrypt HTC RUUs
The Following 2 Users Say Thank You to matt95 For This Useful Post: [ Click to Expand ]
 
shoey63
Old
#4  
shoey63's Avatar
Recognized Contributor
Thanks Meter 1300
Posts: 2,154
Join Date: Jun 2012
Location: Somewhere in Oz...
Was looking for something like this, good work:thumbup:

Sent from my C6603 using xda app-developers app
The Following User Says Thank You to shoey63 For This Useful Post: [ Click to Expand ]
 
matt95
Old
#5  
matt95's Avatar
Recognized Contributor - OP
Thanks Meter 2325
Posts: 5,779
Join Date: Aug 2010
Location: Verona

 
DONATE TO ME
Quote:
Originally Posted by shoey63 View Post
Was looking for something like this, good work:thumbup:

Sent from my C6603 using xda app-developers app
glad it helped let me know if everything works correctly


Donate and support my studies at the MIT University! Unruu HTC RUUs | Setup Android Development Environment on Ubuntu | Decrypt HTC RUUs
The Following 3 Users Say Thank You to matt95 For This Useful Post: [ Click to Expand ]
 
8yt3c0d3
Old
#6  
Junior Member
Thanks Meter 9
Posts: 4
Join Date: Jun 2013
Location: Bangalore
Quote:
Originally Posted by matt95 View Post
glad it helped let me know if everything works correctly
Hi matt, thanks a ton for this great tutorial. I have followed all the steps mentioned here and i think adb and fastbook has been installed on my system Running the ./adb and ./fastboot commands bring up a list of command on the terminal.

Nw i have been trying to connect my phone to flash a boot.img, after i run "./adb devices" to check if the phone is connected it shows me this :

List of devices attached
???????????? no permissions

not sure if the device is connected do u knw what is causing this error ?
 
demkantor
Old
#7  
demkantor's Avatar
Recognized Contributor
Thanks Meter 2612
Posts: 5,528
Join Date: Nov 2011
Location: mpls
Being you have a path setup (per this guide) try typing either just
adb devices
or
fastboot devices
skip the ./ and see if it will work
The Following User Says Thank You to demkantor For This Useful Post: [ Click to Expand ]
 
8yt3c0d3
Old
(Last edited by 8yt3c0d3; 7th June 2013 at 07:03 AM.)
#8  
Junior Member
Thanks Meter 9
Posts: 4
Join Date: Jun 2013
Location: Bangalore
I have got my device now connected in fastboot mode. Thanks again for this great tutorial. I am not a rom builder but a crazy flasher I skipped a few steps from the above tutorial to get fastboot and adb working on Ubuntu 13.04.

To install JDK:

Start by removing the openJDK if it exists already
Code:
Select Code
sudo apt-get purge openjdk*
To install Java 8, do this
Add the PPA:
Code:
Select Code
sudo add-apt-repository ppa:webupd8team/java
Update the repo index:
Code:
Select Code
sudo apt-get update
Install Java 8:
Code:
Select Code
sudo apt-get install oracle-java8-installer
Install GIT from the OP tutorial

Skip Python install

Skip GNU install

Skip ia32-libs install if you are using 32bit OS

Download the Android SDK from OP and install it as mentioned there.

Setup ADB/Fastboot as mentioned in the OP

Skip Suggested programs

Now connect your device in fastboot mode and type in terminal fastboot to check if your device is recognised, if you get
"fastboot not installed error"
Try
Code:
Select Code
sudo apt-get install android-tools-adb android-tools-fastboot
connect device in fastboot and try :
Code:
Select Code
sudo fastboot devices
Done
The Following 9 Users Say Thank You to 8yt3c0d3 For This Useful Post: [ Click to Expand ]
 
matt95
Old
#9  
matt95's Avatar
Recognized Contributor - OP
Thanks Meter 2325
Posts: 5,779
Join Date: Aug 2010
Location: Verona

 
DONATE TO ME
Quote:
Originally Posted by 8yt3c0d3 View Post
Hi matt, thanks a ton for this great tutorial. I have followed all the steps mentioned here and i think adb and fastbook has been installed on my system Running the ./adb and ./fastboot commands bring up a list of command on the terminal.

Nw i have been trying to connect my phone to flash a boot.img, after i run "./adb devices" to check if the phone is connected it shows me this :

List of devices attached
???????????? no permissions

not sure if the device is connected do u knw what is causing this error ?
actually i should write more to avoid that message :/ stay tuned! tonight i'll write how to solve that... sorry for making you wait


Donate and support my studies at the MIT University! Unruu HTC RUUs | Setup Android Development Environment on Ubuntu | Decrypt HTC RUUs
 
matt95
Old
#10  
matt95's Avatar
Recognized Contributor - OP
Thanks Meter 2325
Posts: 5,779
Join Date: Aug 2010
Location: Verona

 
DONATE TO ME
Quote:
Originally Posted by 8yt3c0d3 View Post
I have got my device now connected in fastboot mode. Thanks again for this great tutorial. I am not a rom builder but a crazy flasher I skipped a few steps from the above tutorial to get fastboot and adb working on Ubuntu 13.04.

 
To install JDK:

Start by removing the openJDK if it exists already
Code:
Select Code
sudo apt-get purge openjdk*
To install Java 8, do this
Add the PPA:
Code:
Select Code
sudo add-apt-repository ppa:webupd8team/java
Update the repo index:
Code:
Select Code
sudo apt-get update
Install Java 8:
Code:
Select Code
sudo apt-get install oracle-java8-installer
Install GIT from the OP tutorial

Skip Python install

Skip GNU install

Skip ia32-libs install if you are using 32bit OS

Download the Android SDK from OP and install it as mentioned there.

Setup ADB/Fastboot as mentioned in the OP

Skip Suggested programs

Now connect your device in fastboot mode and type in terminal fastboot to check if your device is recognised, if you get
"fastboot not installed error"
Try
Code:
Select Code
sudo apt-get install android-tools-adb android-tools-fastboot
connect device in fastboot and try :
Code:
Select Code
sudo fastboot devices
Done
yeah that works too but sometimes you may have some problem with that command and probably it won't work on every distro, while the manual installation always works


Donate and support my studies at the MIT University! Unruu HTC RUUs | Setup Android Development Environment on Ubuntu | Decrypt HTC RUUs

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes