page.title=Installing the SDK
@jd:body


<p>This page describes how to install the Android SDK and set up your development environment. If you haven't 
downloaded the SDK yet, follow the link below.</p>

<div class="linkbox"><a href="http://developer.android.com/sdk/">Download the SDK</a></div>

<p>Before you begin, be sure that you're development environment meets the SDK
<a href="requirements.html">System and Software Requirements</a>.</p>

<div class="special">
<h4 style="margin-top">Upgrading?</h4>
<p>If you have already developed applications using an earlier version of the 
SDK, please skip this page and read the 
<b><a href="upgrading.html">Upgrading the SDK</a></b> document.  
</p>
</div>


<a name="installingsdk"></a>
<a name="setup"></a>
<h2>Installing the SDK</h2>

	<p>After downloading the SDK, unpack the .zip archive to a suitable location on your machine. By default, the SDK files are unpacked into a directory named  <code>android_sdk_<em>&lt;platform</em>&gt;_<em>&lt;release&gt;</em>_<em>&lt;build&gt;</em></code>. The directory contains the subdirectories <code>tools/</code>, <code>samples/</code>, and others. </p>
	
	<p>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 Android plugin or using SDK tools. </p>

        <p>Optionally, you can add the path to the SDK <code>tools</code> directory to your path. As mentioned above, the <code>tools/</code> directory is located in the SDK directory. </p>
     <ul>
          <li>On Linux, edit your ~/.bash_profile or ~/.bashrc 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, look in your home directory for .bash_profile and
          proceed as for Linux. You can create the .bash_profile, 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>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. Note that, if you update your SDK, you should remember to update your PATH settings to point to the new location, if different.</p>

<h3>Setting up Eclipse</h3>
<p>If you'll be developing with the Eclipse IDE, follow the following procedure to setup the IDE
to use the Android SDK.</p>
<p>Basically, you just need to update your Eclipse preferences to point to the Android SDK directory:</p>
<ol>
    <li>Select <strong>Window</strong> &gt; <strong>Preferences...</strong> to open the Preferences
        panel. (Mac OS X: <strong>Eclipse</strong> &gt; <strong>Preferences</strong>) </li>
    <li>Select <strong>Android</strong> from the left panel. </li>
    <li>For the SDK Location in the main panel, click <strong>Browse...</strong> and locate the SDK directory. </li>
    <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<p>Done! We now recommend that you install the ADT Eclipse plugin, which will provide some much-appreciated assistance in developing Android apps with Eclipse...</p>

<a name="installingplugin"></a>
<h2>Installing the Eclipse Plugin (ADT)</h2>

<p>If you will be using the Eclipse IDE as your environment for developing Android applications, you can install a custom plugin called Android Development Tools (ADT), which adds integrated support for Android projects and tools. The ADT plugin includes a variety of powerful extensions that make creating, running, and debugging Android applications faster and easier. This plugin is highly recommended for Eclipse users.</p>

<p>If you <em>will not</em> be using the Eclipse IDE, you do not need to download or install the ADT plugin.</p>

<p><strong>Follow this guide to install the ADT Plugin</strong></p>

<a name="installnotes"></a>
<h2>Installation Notes</h2>
<h4>Ubuntu Linux Notes</h4>
<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-bin</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>
</ul>
<h4>Other Linux Notes</h4>
<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
at the top of this page. 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>

<a name="developingwitheclipse"></a>
<a name="existingcode"></a>
<a name="creatingaproject" id="creatingaproject"></a>
<a name="launchconfig" id="launchconfig"></a>
<a name="installingrunningdebugging" id="installingrunningdebugging"></a>
<a name="otherides" id="otherides"></a>
<a name="buildingwithant"></a>
<a name="debugging" id="debugging"></a>
<a name="additionaldebugging" id="additionaldebugging"></a>
<a name="toptips" id="toptips"></a>
<a name="debughelpers"></a>
<a name="uninstalling" id="uninstalling"></a>
<a name="tips" id="tips"></a>
<a name="eclipse" id="eclipse"></a> 
<a name="building"></a>
