Setting Up An Android App Build Environment With Eclipse, Android SDK, PhoneGap (Ubuntu 10.10)

Version 1.0
Author: Falko Timme
Follow me on Twitter

This tutorial describes how you can set up a development environment for building Android apps on an Ubuntu 10.10 desktop using Eclipse, the Android SDK, and PhoneGap. I will describe how to build Android apps from the command line with PhoneGap and from the GUI with Eclipse and PhoneGap and how to test them in an Android emulator and on a real Android device. PhoneGap allows you to develop your Android applications using web technologies such as HTML, CSS, and JavaScript (e.g. with JavaScript libraries such as jQuery/jQTouch), and it will turn these web apps into native Android apps (in fact, PhoneGap supports multiple platforms such as Android, iPhone, Palm, Windows Mobile, Symbian, so you can use the same sources to create apps for multiple platforms).

I do not issue any guarantee that this will work for you!


1 Preliminary Note

I will not explain how to develop an Android app using HTML, CSS, and JavaScript. You can find lots of tutorials about this on the Internet, e.g. this one:

Tutorial: A simple Twitter client with JQTouch

In fact, I'm using a slightly modified version of the Twitter client described in the link to build a Twitter app in this tutorial.


2 Installing Eclipse And Prerequisites For The Android SDK/PhoneGap

First open a terminal (Applications > Accessories > Terminal):

Eclipse and the prerequisites for the Android SDK and PhoneGap can be installed as follows:

sudo apt-get install openjdk-6-jdk eclipse ruby rubygems ruby-dev git ant libxml2 libxml2-dev libxslt-dev

Next run

sudo gem install nokogiri


3 Installing The Android SDK

Open Firefox and go to There you will find links for the Android SDK for the different platforms (Windows, Mac OS X, Linux). Copy the link location of the download for Linux (i386) (don't worry, this download works on both i386 and x86_64 platforms!)...

... and download and uncompress it as follows:

cd ~
tar xvfz android-sdk_r08-linux_86.tgz

This will give you the directory android-sdk-linux_86 in your home directory ($HOME). We must add the $HOME/android-sdk-linux_86/tools directory and the $HOME/android-sdk-linux_86/platform-tools directory to our PATH variable which we do as follows:

Open ~/.profile...

gedit ~/.profile

... and add the following line at the bottom of the file:


To make the change effective (so that we don't have to log out and back in), run:

export PATH="$HOME/android-sdk-linux_86/tools:$HOME/android-sdk-linux_86/platform-tools:$PATH"

Now start the Android SDK:


This is how the Android SDK looks:

Select Available packages in the left panel and then select Android Repository in the right panel to download SDK packages:

The packages that belong to the Android Repository group should now all be checked. Click on the Install Selected button:

A new window opens; mark the Accept radio box and click on Install...

... to start the download of the SDK packages:

If ADB (Android Debug Bridge) needs to be restarted, click on Yes:

Click on Close after the download has finished - this will close the download window:

Share this page:

3 Comment(s)

Add comment


From: Android App Developers

Everything in an app.

Majority of applications developed in 1 or more than two android features. But if we will apply more than 3 to 4 features then what we will expect  from that app if idea we have unique and superb  too.????

From: Phonegap android developers

In terms of app experience, native apps can do more. They can easily get hold of swipe events, mutlitouch even, for those platforms which support it. They can typically act on hard keys being pressed, like Android's search button and volume controls. They can access hardware too, like GPS and camera. And with the user's permission, some platforms provide unfettered access to the operating system. Just try detecting how much battery remains with HTML5!

From: phonegap android application

Very helpful and clean set of instructions which actually solves a quite complicated process due to the use of application dependencies plus versioning conflicts. I only had one problem with a node directory error. I did also find a solution which is quite simple. Thank you very much for such useful information.