blob: 8484beadcba69e6939b443bd59d5cf40fb6f1cb1 [file] [log] [blame]
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 (such as the platform system images). </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 class="note"><strong>Note:</strong> If you're using Windows, we recommend that you download
the SDK installer (the {@code .exe} file from the download table). It will guide you through the
installation process and check your computer for the required software.</p>
<p>If you downloaded a {@code .zip} of {@code .tgz} (instead of using the SDK installer), 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>.</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 ADT plugin and when using
the SDK tools from command line.</p>
<p>Optionally, you might want to add the location of the SDK's primary
<code>tools</code> directory and the additional {@code platform-tools/} directory to your system
<code>PATH</code>. Both tool directories are located at the root of the SDK folder. Adding
<code>tools/</code> and {@code platform-tools/} 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 tool directories. </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> and {@code platform-tools/} directories to it. If you don't
see a line setting the path, you can add one:</li>
<ul><code>export PATH=${PATH}:&lt;your_sdk_dir&gt;/tools:&lt;your_sdk_dir&gt;/platform-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> and {@code platform-tools/} directories 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 and the SDK Platform-tools components are required &mdash; you can't develop or build an
application without these. Make sure you keep these up to date.</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>platform-tools/</code></td>
<td>Contains development tools that may be updated with each platform release (from the <em>Android
SDK Platform-tools</em> component). Tools in here include {@code adb}, {@code dexdump}, and others
others that you don't typically use directly. These tools are separate from the generic development
tools in the {@code tools/} directory, because these tools may be updated in order to support new
features in the latest Android platform, whereas the other tools have no dependencies on the
platform version.</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>This directory is used only by SDK Tools r7 and below for development tools that are specific to
this platform version&mdash;it's not used by SDK Tools r8 and above.</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 that are platform-independent, such
as the emulator, the AVD and SDK Manager, adb, ddms, hierarchyviewer and more. The tools in
this directory may be updated at any time (from the <em>Android SDK Tools</em> component),
independent of platform releases, whereas the tools in {@code platform-tools/} may be updated based
on the latest platform release.</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 Manager.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>