page.title=Android SDK
sdk.redirect=0

sdk.win_download=android-sdk_r06-windows.zip
sdk.win_bytes=23293160
sdk.win_checksum=7c7fcec3c6b5c7c3df6ae654b27effb5

sdk.mac_download=android-sdk_r06-mac_86.zip
sdk.mac_bytes=19108077
sdk.mac_checksum=c92abf66a82c7a3f2b8493ebe025dd22

sdk.linux_download=android-sdk_r06-linux_86.tgz
sdk.linux_bytes=16971139
sdk.linux_checksum=848371e4bf068dbb582b709f4e56d903

@jd:body


<h2 id="quickstart">Quick Start</h2>

<p>The steps below provide an overview of how to get started with the Android
SDK. For detailed instructions, start with the <a
href="{@docRoot}sdk/installing.html">Installing the SDK</a> guide. </p>

<p><strong>1. Prepare your development computer</strong></p>

<p>Read the <a href="{@docRoot}sdk/requirements.html">System Requirements</a>
document and make sure that your development computer meets the hardware and
software requirements for the Android SDK. Install any additional software
needed before downloading the Android SDK. In particular, you may need to
install the <a href="http://java.sun.com/javase/downloads/index.jsp">JDK</a>
 (version 5 or 6 required) and <a href="http://www.eclipse.org/downloads/">Eclipse</a>
 (version 3.4 or 3.5, needed only if you want develop using the ADT Plugin).

<p><strong>2. Download and install the SDK starter package</strong></p>

<p>Select a starter package from the table at the top of this page and download
it to your development computer. To install the SDK, simply unpack the starter
package to a safe location and then add the location to your PATH. </p>

<p><strong>3. Install the ADT Plugin for Eclipse</strong></p>

<p>If you are developing in Eclipse, set up a remote update site at
<code>https://dl-ssl.google.com/android/eclipse/</code>. Install the Android 
Development Tools (ADT) Plugin, restart Eclipse, and set the "Android" 
preferences in Eclipse to point to the SDK install location. For detailed
instructions, see <a href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin 
for Eclipse</a>.</p>

<p><strong>4. Add Android platforms and other components to your SDK</strong></p>

<p>Use the Android SDK and AVD Manager, included in the SDK starter package, to
add one or more Android platforms (for example, Android 1.6 or Android 2.0) and
other components to your SDK. If you aren't sure what to add, see <a
href="installing.html#which">Which components do I need?</a></p>

<p>To launch the Android SDK and AVD Manager on Windows, execute <code>SDK
Setup.exe</code>, at the root of the SDK directory. On Mac OS X or Linux,
execute the <code>android</code> tool in the <code>&lt;sdk&gt;/tools/</code>
folder. For detailed instructions, see <a
href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.</p>

<p><strong>Done!</strong></p>

<p>If you are new to Android, you can use the <a
href="{@docRoot}resources/tutorials/hello-world.html">Hello World</a> tutorial to
get started quickly. <a href="{@docRoot}sdk/installing.html#NextSteps">Next
Steps</a> offers other suggestions of how to begin.</p>

<p>For a more detailed guide to installing and setting up the SDK, read <a 
href="installing.html">Installing the SDK</a>.</p>
