Post Reply

[GUIDE] Setup Android Development Environment on Ubuntu 13.04+

30th May 2013, 05:42 PM   |  #1  
matt95's Avatar
OP Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More


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:
$ 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:
$ sudo apt-get install git
$ y
PYTHON

Download the 2.7.5 version or newer here
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:
$ 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:
$ 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

If you're using Ubuntu 14.04 this won't work because that package isn't available anymore, so you just want to do these steps here
Code:
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
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:
$ 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:
$ 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:
$ sudo gedit .bashrc
And you need to add at the end of it your SDK paths

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:
$ 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:
$ adb devices
or 
$ fastboot devices
right now you'll get a strange output, something like this
Code:
???????? No permissions
In order to avoid this message we have to create a simple file
Code:
$ cd /tmp/
$ touch android.rules
$ nano android.rules
Now you have to paste this lines in that file and save it
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:
$ 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! This tool will help you develop android apps
You can download it here (download the classic one)
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.6 BETA and I have to say that it's a really really good looking and powerful IDE. I would recommend to use this IDE because, over time, it will be the main Android IDE (rumors say that Google will stop developing ADT bundles so Eclipse won't be supported anymore and this will force you to switch to Android Studio).
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:
$ 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:
$ ./studio.sh
If you don't want to type this everytime you can just create a shortcut for it by opening Android Studio and going into Configure > Create desktop entry That's it!
Last edited by matt95; 20th August 2014 at 12:28 AM.
The Following 149 Users Say Thank You to matt95 For This Useful Post: [ View ]
31st May 2013, 04:50 AM   |  #2  
soham jambhekar's Avatar
Senior Member
Flag New Brunswick
Thanks Meter: 190
 
488 posts
Join Date:Joined: Dec 2011
More
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
The Following User Says Thank You to soham jambhekar For This Useful Post: [ View ]
31st May 2013, 12:46 PM   |  #3  
matt95's Avatar
OP Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More
Quote:
Originally Posted by soham jambhekar

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!
The Following 2 Users Say Thank You to matt95 For This Useful Post: [ View ]
2nd June 2013, 01:03 PM   |  #4  
shoey63's Avatar
Recognized Contributor
Flag Somewhere in Oz...
Thanks Meter: 1,347
 
2,212 posts
Join Date:Joined: Jun 2012
More
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: [ View ]
4th June 2013, 01:05 AM   |  #5  
matt95's Avatar
OP Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More
Quote:
Originally Posted by shoey63

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
The Following 3 Users Say Thank You to matt95 For This Useful Post: [ View ]
7th June 2013, 05:59 AM   |  #6  
Junior Member
Flag Bangalore
Thanks Meter: 9
 
4 posts
Join Date:Joined: Jun 2013
More
Quote:
Originally Posted by matt95

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 ?
7th June 2013, 06:05 AM   |  #7  
demkantor's Avatar
XDA: ASSIST
Recognized Contributor
Flag mpls
Thanks Meter: 2,799
 
5,837 posts
Join Date:Joined: Nov 2011
More
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: [ View ]
7th June 2013, 06:23 AM   |  #8  
Junior Member
Flag Bangalore
Thanks Meter: 9
 
4 posts
Join Date:Joined: Jun 2013
More
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:
sudo apt-get purge openjdk*
To install Java 8, do this
Add the PPA:
Code:
sudo add-apt-repository ppa:webupd8team/java
Update the repo index:
Code:
sudo apt-get update
Install Java 8:
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:
sudo apt-get install android-tools-adb android-tools-fastboot
connect device in fastboot and try :
Code:
sudo fastboot devices
Done
Last edited by 8yt3c0d3; 7th June 2013 at 07:03 AM.
The Following 9 Users Say Thank You to 8yt3c0d3 For This Useful Post: [ View ]
7th June 2013, 06:11 PM   |  #9  
matt95's Avatar
OP Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More
Quote:
Originally Posted by 8yt3c0d3

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
7th June 2013, 06:12 PM   |  #10  
matt95's Avatar
OP Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More
Quote:
Originally Posted by 8yt3c0d3

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:
sudo apt-get purge openjdk*
To install Java 8, do this
Add the PPA:
Code:
sudo add-apt-repository ppa:webupd8team/java
Update the repo index:
Code:
sudo apt-get update
Install Java 8:
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:
sudo apt-get install android-tools-adb android-tools-fastboot
connect device in fastboot and try :
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

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes