page.title=Installing the SDK
sdk.preview=0

@jd:body

<div id="qv-wrapper">
<div id="qv">

  <h2>In this document</h2>
  <ol>
    <li><a href="#Preparing">Preparing Your Development Computer</a></li>
    <li><a href="#Installing">Downloading the SDK Starter Package</a></li>
    <li><a href="#InstallingADT">Installing the ADT Plugin for Eclipse</a></li>
    <li><a href="#components">Adding Platforms and Other Components</a>
    <ol>
    <li><a href="#which">Which components do I need?</a></li>
    </ol></li>
    <li><a href="#sdkContents">Exploring the SDK</a></li>
    <li><a href="#NextSteps">Next Steps</a></li>
    <li><a href="#troubleshooting">Troubleshooting</a></li>
  </ol>

<h2>See also</h2>
  <ol>
    <li><a href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin for Eclipse</a></li>
    <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
  </ol>

</div>
</div>

<p>This page describes how to install the Android SDK 
and set up your development environment for the first time.</p>

<p>If you encounter any problems during installation, see the 
<a href="#troubleshooting">Troubleshooting</a> section at the bottom of
this page.</p>

<h4>Updating?</h4>

<p>If you are currently using the Android 1.6 SDK or later and want to update 
to the latest tools or platforms, you do not need to install a new SDK. Instead, 
you can simply update the individual components in your SDK using the 
Android SDK and AVD Manager tool. For information about how to do that, see <a 
href="{@docRoot}sdk/adding-components.html#UpdatingComponents">Updating SDK 
Components</a></p>

<p>If you are using Android 1.5 SDK or earlier, you should install a new SDK as
described in this document and move your application projects to the new
SDK environment. </p>


<h2 id="Preparing">Step 1. Preparing Your Development Computer</h2>

<p>Before getting started with the Android SDK, take a moment to confirm that
your development computer meets the <a href="requirements.html">System
Requirements</a>. In particular, you may need to install the <a 
href="http://java.sun.com/javase/downloads/index.jsp">JDK</a> before 
continuing, if it's not already installed on your computer. </p>

<p>If you will be developing in Eclipse with the Android Development
Tools (ADT) Plugin &mdash; the recommended path if you are new to
Android &mdash; make sure that you have a suitable version of Eclipse
installed on your computer (3.4 or newer is recommended). If you need 
to install Eclipse, you can download it from this location: </p> 
 
<p style="margin-left:2em;"><a href=
"http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p> 
 
<p>A Java or RCP version of Eclipse is recommended. For Eclipse 3.5, the 
"Eclipse Classic" version is recommended.</p> 


<h2 id="Installing">Step 2. Downloading the SDK Starter Package</h2>

<p>The first step in setting up your environment for developing Android applications
is downloading the Android SDK starter package. The starter package is not a full
development environment &mdash; it includes only the core SDK Tools, which you can 
use to download the rest of the SDK components. </p>

<p>You can get the latest version of the SDK starter package from the <a
href="{@docRoot}sdk/index.html">SDK download page</a>. Make sure to download the
package that is appropriate for your development computer.</p>

<p>After downloading, unpack the Android SDK archive to a safe location on your
machine. By default, the SDK files are unpacked into a directory named
<code>android-sdk-&lt;machine-platform&gt;</code>. Make a note of the name and
location of the unpacked SDK directory on your system &mdash; you will need to
refer to the SDK directory later, when setting up the ADT plugin or when using
the SDK tools.</p>

<p>Optionally, you may want to add the location of the SDK's primary
<code>tools</code> directory to your system <code>PATH</code>. The primary
<code>tools/</code> directory is located at the root of the SDK folder. Adding
<code>tools</code> to your path lets you run Android Debug Bridge (adb) and the
other command line <a
href="{@docRoot}guide/developing/tools/index.html">tools</a> without needing to
supply the full path to the tools directory. </p> 

<ul>
    <li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look
    for a line that sets the PATH environment variable and add the
    full path to the <code>tools/</code> directory to it. If you don't 
    see a line setting the path, you can add one:</li>

    <ul><code>export PATH=${PATH}:<em>&lt;your_sdk_dir&gt;</em>/tools</code></ul>

    <li>On a Mac OS X, look in your home directory for <code>.bash_profile</code> and
    proceed as for Linux. You can create the <code>.bash_profile</code> if 
    you haven't already set one up on your machine. </li>

    <li>On Windows, right-click on My Computer, and select Properties.  
  Under the Advanced tab, hit the Environment Variables button, and in the
  dialog that comes up, double-click on Path (under System Variables). Add the full path to the 
  <code>tools/</code> directory to the path. </li>
  </ul>

<p>If you will be using the Eclipse IDE as your development environment, the
next section describes how to install the Android Development Tools (ADT) plugin
and set up Eclipse. If you choose not to use Eclipse, you can develop Android
applications in an IDE of your choice and then compile, debug and deploy using
the tools included in the SDK (skip to <a href="#components">Adding Platforms
and Other Components</a>).</p>


<h2 id="InstallingADT">Step 3. Installing the ADT Plugin for Eclipse</h2>

<p>Android offers a custom plugin for the Eclipse IDE, called Android
Development Tools (ADT), that is designed to give you a powerful, integrated
environment in which to build Android applications. It extends the capabilites
of Eclipse to let you quickly set up new Android projects, create an application
UI, add components based on the Android Framework API, debug your applications
using the Android SDK tools, and even export signed (or unsigned) APKs in order
to distribute your application. In general, developing in Eclipse with ADT is a
highly recommended approach and is the fastest way to get started with Android.
</p>

<p>If you'd like to use ADT for developing Android applications, install it now.
Read <a href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin for Eclipse</a> for
step-by-step installation instructions, then return here to continue with the
last step in setting up your SDK: adding platforms and other
components.</p>

<p>If you prefer to work in an IDE other than Eclipse, you do not need to
install Eclipse or ADT, instead, you can directly use the SDK tools to build and
debug your application.</p>


<h2 id="components">Step 4. Adding Android Platforms and Other Components</h2>

<div class="sidebox-wrapper" style="margin-right:2.5em;">
<div class="sidebox"> <h2>Using the Android SDK and AVD Manager</h2>

<p>The <em>Android SDK and AVD Manager</em> is a tool that you will use often,
to add components to your SDK environment and manage Android Virtual Devices.
</p>

<p style="margin-top:.5em;">The tool is pre-installed in your SDK. See <a
href="adding-components.html">Adding SDK Components</a> for details on how to
launch and use the tool.</p>
</div>
</div>

<p>The last step in setting up your SDK is using a tool included the SDK starter
package &mdash; the <em>Android SDK and AVD Manager</em> &mdash; to download
essential components into your development environment. Read the information
below to understand what components you'll need, then see <a
href="adding-components.html">Adding SDK Components</a> for step-by-step
instructions on how to launch the Android SDK and AVD Manager and download the
components into your environment.</p>

<p>The SDK uses a modular structure that separates the major parts of the SDK
&mdash; Android platform versions, add-ons, tools, samples, and the API
documentation &mdash; into a set of separately installable components. The SDK
starter package, which you've already downloaded, includes only a single
component: the latest version of the SDK Tools. To develop any Android
application, you also need to download at least one Android platform into your
environment, although downloading additional components is highly recommended.
See <a href="#which">Which components do I need?</a> for information about
which components are required and which are optional.</p>

<p>The SDK repository offers these types of components:</p>

<ul>
<li><strong>SDK Tools</strong> (pre-installed in the Android SDK starter
package) &mdash; Contains the full set of SDK tools for developing, debugging,
and testing your application code and UI. You can read about the tools in the <a
href="{@docRoot}guide/developing/tools/index.html">Dev Guide</a> and access them
in the <code>&lt;sdk&gt;/tools/</code> directory. </li>

<li><strong>Android platforms</strong> &mdash; An SDK platform is
available for every production Android platform deployable to Android-powered
devices. Each platform component includes a fully compliant Android library and
system image, sample code, emulator skins, and any version specific tools. For
detailed information about each platform, see the overview documents available
under the section "Downloadable SDK Components," at left. </li>

<li><strong>SDK Add-Ons</strong> &mdash; SDK add-ons provide a development
environment for specific Android external
library or a customized (but fully compliant) Android system image.  The Android
SDK repository offers the Google APIs Add-On, which gives your application
access to powerful mapping capabilities through the
<code>com.google.android.maps</code> library. You can also add additional
repositories, so that you can download other SDK add-ons, where available. </li>

<li><strong>USB Driver for Windows</strong> &mdash; Contains driver files 
that you can install on your Windows computer, so that you can run and debug
your applications on an actual device. You <em>do not</em> need the USB driver unless
you plan to debug your application on an actual Android-powered device. If you
develop on Mac OS X or Linux, you do not need a special driver to debug 
your application on an Android-powered device.</li>

<li><strong>Samples</strong> &mdash; Contains the sample code and apps available
for each Android development platform. If you are just getting started with
Android development, make sure to download the samples to your SDK. <!--The download
includes not only a set of very useful sample apps, but also the source for <a
href="{@docRoot}resources/tutorials/hello-world.html">Hello World</a> and other
tutorials. --></li>

<li><strong>Documentation</strong> &mdash; Contains a local copy of the latest
multiversion documentation for the Android framework API. </li>
</ul>

<p>To download components, use the graphical UI of the Android SDK and AVD
Manager, shown in Figure 1, to browse the SDK repository, select new or updated
components for download, and then install the selected components in your SDK
environment. </p>

<div style="TEXT-ALIGN:left;width:600px;"> 
<img src="/images/sdk_manager_packages.png" 
style="padding-bottom:0;margin-bottom:0;" /> 
<p class="caption" style="margin:0 0 1.5em 1em;padding:0 0 0
1em;"><strong>Figure 1.</strong> The Android SDK and AVD Manager's 
<strong>Available Packages</strong>
panel, which shows the SDK components that are
available for you to download into your environment. </p>
</div> 


<h3 id="which">Which components do I need?</h3>

<p>The SDK repository contains a range of components that you can download.
Use the table below to determine which components you need, based on whether you
want to set up a basic (but functionnal) development environment or a
recommended or full development environment: </p>

<table style="width:95%">

<tr>
<th>Environment</th>
<th>SDK&nbsp;Component</th>
<th>Comments</th>
</tr>

<tr>
<td rowspan="2" style="font-size:.9em;background-color:#FFE;">Basic</td>
<td style="font-size:.9em;background-color:#FFE;color:gray">SDK Tools</td>
<td style="font-size:.9em;background-color:#FFE;color:gray">If you've installed
the SDK starter package, then you already have this component preinstalled. The
SDK Tools component is required &mdash; you can't develop or build an application 
without it. </td>
</tr>

<tr>
<td style="font-size:.9em;background-color:#FFE;">SDK platform</td>
<td style="font-size:.9em;background-color:#FFE;">You need to download <strong
style="color:red">at least one platform</strong> into your environment, so that
you will be able to compile your application and set up an Android Virtual
Device (AVD) to run it on (in the emulator). To start with, just download the
latest version of the platform. Later, if you plan to publish your application,
you will want to download other platforms as well, so that you can test your
application on the full range of Android platform versions that your customers
are using.</td>
</tr>
<tr>
<td colspan="3" style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td>
</tr>
<tr>
<td rowspan="3">Recommended</td>
<td>Documentation</td>
<td>The Documentation component is useful because it lets you work offline and
also look up API reference information from inside Eclipse.</td>
</tr>

<tr>
<td>Samples</td>
<td>The Samples components give you source code that you can use to learn about
Android, load as a project and run, or reuse in your own app. Note that multiple
samples components are available &mdash; one for each Android platform version. When
you are choosing a samples component to download, select the one whose API Level
matches the API Level of the Android platform that you plan to use.</td>
</tr>
<tr>
<td>Usb Driver</td>
<td>The Usb Driver component is needed only if you are developing on Windows and
have an Android-powered device on which you want to install your application for
debugging and testing. For Mac OS X and Linux platforms, no
special driver is needed.</td>
</tr>
<tr>
<td colspan="3" style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td>
</tr>
<tr>
<td rowspan="3">Full</td>
<td>Google APIs</td>
<td>The Google APIs add-on gives your application access to the Maps external
library, which makes it easy to display and manipulate Maps data in your
application. </td>
</tr>
<tr>
<td>Additional SDK Platforms</td>
<td>If you plan to publish your application, you will want to download
additional platforms corresponding to the Android platform versions on which you
want the application to run. The recommended approach is to compile your
application against the lowest version you want to support, but test it against
higher versions that you intend the application to run on. You can test your
applications on different platforms by running in an Android Virtual Device
(AVD) on the Android emulator.</td>
</tr>

</table>

<p>For step-by-step instructions on how to use the Android SDK and AVD Manager
to add components, see the <a href="{@docRoot}sdk/adding-components.html">Adding
SDK Components</a> document. </p>

<p>For revision notes and other detailed information about individual SDK 
components, see the documents listed under "Downloadable SDK Components" in 
the navigation at left.</p>


<h2 id="sdkContents">Step 5. Exploring the SDK</h2>

<p>Once you've installed the SDK and downloaded the platforms, documentation,
and add-ons that you need, open the SDK directory and take a look at what's
inside.</p>

<p>The table below describes the full SDK directory contents, with components 
installed. </p>

<table>
<tr>
<th colspan="3">Name</th><th>Description</th>
</tr>
<tr>
<td colspan="3"><code>add-ons/</code></td>
<td>Contains add-ons to the Android SDK development
environment, which let you develop against external libraries that are available on some
devices. </td>
</tr>
<tr>
<td colspan="3"><code>docs/</code></td>
<td>A full set of documentation in HTML format, including the Developer's Guide,
API Reference, and other information. To read the documentation, load the 
file <code>offline.html</code> in a web browser.</td>
</tr>
<tr>
<td colspan="3"><code>platforms/</code></td>
<td>Contains a set of Android platform versions that you can develop
applications against, each in a separate directory.  </td>
</tr>
<tr>
<td style="width:2em;border-bottom-color:white;"></td>
<td colspan="2"><code><em>&lt;platform&gt;</em>/</code></td>
<td>Platform version directory, for example "android-1.6". All platform version 
directories contain a similar set of files and subdirectory structure.</td>
</tr>

<tr>
<td style="width:2em;border-bottom-color:white;">&nbsp;</td>
<td style="width:2em;border-bottom-color:white;"></td>
<td><code>data/</code></td>
<td>Storage area for default fonts and resource definitions.</td>
</tr>
<tr>
<td style="width:2em;border-bottom-color:white;"></td>
<td style="width:2em;border-bottom-color:white;"></td>
<td><code>images/</code></td>
<td>Storage area for default disk images, including the Android system image, 
the default userdata image, the default ramdisk image, and more. The images 
are used in emulator sessions.</td>
</tr>
<tr>
<td style="width:2em;border-bottom-color:white;"></td>
<td style="width:2em;border-bottom-color:white;"></td>
<td><code>skins/</code></td>
<td>A set of emulator skins available for the platform version. Each skin is
designed for a specific screen resolution.</td>
</tr>
<tr>
<td style="width:2em;border-bottom-color:white;"></td>
<td style="width:2em;border-bottom-color:white;"></td>
<td><code>templates/</code></td>
<td>Storage area for file templates used by the SDK development tools.</td>
</tr>
<tr>
<td style="width:2em;border-bottom-color:white;"></td>
<td style="width:2em;border-bottom-color:white;"></td>
<td><code>tools/</code></td>
<td>Any development tools that are specific to the platform version.</td>
</tr>
<tr>
<td style="width:2em;"></td>
<td style="width:2em;"></td>
<td><code>android.jar</code></td>
<td>The Android library used when compiling applications against this platform
version.</td>
</tr>
<tr>
<td colspan="3"><code>samples/</code></td>
<td>Sample code and apps that are specific to platform version.</td>
</tr>
<td colspan="3"><code>tools/</code></td>
<td>Contains the set of development and profiling tools available to you, such
as the emulator, the <code>android</code> tool, adb, ddms, and more.</td>
</tr>
<tr>
<td colspan="3"><code>SDK Readme.txt</code></td>
<td>A file that explains how to perform the initial setup of your SDK, 
including how to launch the Android SDK and AVD Manager tool on all 
platforms</td>
</tr>
<tr>
<td colspan="3"><code>SDK Setup.exe</code></td>
<td>Windows SDK only. A shortcut that launches the Android SDK and AVD 
Manager tool, which you use to add components to your SDK. </td>
</tr>
<!--<tr>
<td colspan="3"><code>documentation.html</code></td>
<td>A file that loads the entry page for the local Android SDK
documentation.</td>
</tr>-->

</table>

<h2 id="NextSteps">Next Steps</h2>
<p>Once you have completed installation, you are ready to
begin developing applications. Here are a few ways you can get started: </p>

<p><strong>Set up the Hello World application</strong></p>
<ul>
  <li>If you have just installed the SDK for the first time, go to the <a
  href="{@docRoot}resources/tutorials/hello-world.html">Hello
  World tutorial</a>. The tutorial takes you step-by-step through the process
  of setting up your first Android project, including setting up an Android
  Virtual Device (AVD) on which to run the application.
</li>
</ul>

<p class="caution">Following the Hello World tutorial is an essential 
first step in getting started with Android development. </p>

<p><strong>Learn about Android</strong></p>
<ul>
  <li>Take a look at the <a href="{@docRoot}guide/index.html">Dev
  Guide</a> and the types of information it provides</li>
  <li>Read an introduction to Android as a platform in <a
  href="{@docRoot}guide/basics/what-is-android.html">What is
  Android?</a></li>
  <li>Learn about the Android framework and how applications run on it in
  <a href="{@docRoot}guide/topics/fundamentals.html">Application
  Fundamentals</a></li>
  <li>Take a look at the Android framework API specification in the <a
  href="{@docRoot}reference/packages.html">Reference</a> tab</li>
</ul>

<p><strong>Explore the development tools</strong></p>
<ul>
  <li>Get an overview of the <a
  href="{@docRoot}guide/developing/tools/index.html">development
  tools</a> that are available to you</li>
  <li>Read how to develop <a
  href="{@docRoot}guide/developing/eclipse-adt.html">in Eclipse/ADT</a> or
  <a href="{@docRoot}guide/developing/other-ide.html">in other IDEs</a>
  </li>
  <li>Read <a href="{@docRoot}guide/developing/device.html">Developing on a Device</a> to set up an
Android-powered device to run and test your application.</li>
</ul>

<p><strong>Follow the Notepad tutorial</strong></p>

<ul>
  <li>The <a href="{@docRoot}resources/tutorials/notepad/index.html">
  Notepad Tutorial</a> shows you how to build a full Android application 
  and provides  helpful commentary on the Android system and API. The 
  Notepad tutorial helps you bring together the important design
  and architectural concepts in a moderately complex application. 
  </li>
</ul>
<p class="caution">Following the Notepad tutorial is an excellent 
second step in getting started with Android development. </p>

<p><strong>Explore some code</strong></p>

<ul>
  <li>The Android SDK includes sample code and applications for each platform
version. You can browse the samples in the <a 
href="{@docRoot}resources/index.html">Resources</a> tab or download them
into your SDK using the Android SDK and AVD Manager. Once you've downloaded the
samples, you'll find them in
<code><em>&lt;sdk&gt;</em>/samples/<em>&lt;platform&gt;/</em></code>. </li>
</ul>

<p><strong>Visit the Android developer groups</strong></p>
<ul>
  <li>Take a look at the <a
  href="{@docRoot}resources/community-groups.html">Community</a> pages to see a list of
  Android developers groups. In particular, you might want to look at the
  <a href="http://groups.google.com/group/android-developers">Android
  Developers</a> group to get a sense for what the Android developer
  community is like.</li>
</ul>

<h2 id="troubleshooting">Troubleshooting</h2>

<h3>Ubuntu Linux Notes</h3>

<ul>
  <li>If you need help installing and configuring Java on your
    development machine, you might find these resources helpful: 
    <ul>
      <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li>
      <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li>
    </ul>
  </li>
  <li>Here are the steps to install Java and Eclipse, prior to installing
  the Android SDK and ADT Plugin.
    <ol>
      <li>If you are running a 64-bit distribution on your development
      machine, you need to install the <code>ia32-libs</code> package using
      <code>apt-get:</code>:
      <pre>apt-get install ia32-libs</pre>
      </li>
      <li>Next, install Java: <pre>apt-get install sun-java6-jdk</pre></li>
      <li>The Ubuntu package manager does not currently offer an Eclipse 3.3
      version for download, so we recommend that you download Eclipse from
      eclipse.org (<a
      href="http://www.eclipse.org/downloads/">http://www.eclipse.org/
      downloads/</a>). A Java or RCP version of Eclipse is recommended.</li>
      <li>Follow the steps given in previous sections to install the SDK 
      and the ADT plugin. </li>
    </ol>
  </li>
</ul>

<h3>Other Linux Notes</h3>

<ul>
  <li>If JDK is already installed on your development computer, please
  take a moment to make sure that it meets the version requirements listed
  in the <a href="requirements.html">System Requirements</a>.
  In particular, note that some Linux distributions may include JDK 1.4 or Gnu
  Compiler for Java, both of which are not supported for Android development.</li>
</ul>
