blob: b0842378552738aaffc70ee94f975d5cc5ac0c3b [file] [log] [blame]
page.title=SDK Manager
@jd:body
<p>The Android SDK separates tools, platforms, and other components into packages you can
download using the SDK Manager. For example, when the SDK Tools are updated or a new version of
the Android platform is released, you can use the SDK Manager to quickly download them to
your environment.</p>
<p>You can launch the SDK Manager in one of the following ways:</p>
<ul>
<li>From Eclipse (with <a href="{@docRoot}tools/help/adt.html">ADT</a>),
select <strong>Window</strong> &gt; <strong>Android SDK Manager</strong>.</li>
<li>From Android Studio, select <strong>Tools</strong> &gt; <strong>Android</strong>
&gt; <strong>SDK Manager</strong>.</li>
<li>On Windows, double-click the <code>SDK Manager.exe</code> file at the root of the Android
SDK directory.</li>
<li>On Mac or Linux, open a terminal and navigate to the <code>tools/</code> directory in the
Android SDK, then execute <code>android sdk</code>.</li>
</ul>
<p>You can select which packages you want to download by toggling the checkboxes on the left, then
click <strong>Install</strong> to install the selected packages.</p>
<img src="{@docRoot}images/sdk_manager_packages.png" alt="" />
<p class="img-caption"><strong>Figure 1.</strong> The Android SDK Manager shows the
SDK packages that are available, already installed, or for which an update is available.</p>
<p>There are several different packages available for the Android SDK. The table below describes
most of the available packages and where they're located in your SDK directory
once you download them.</p>
<h2 id="Recommended">Recommended Packages</h2>
<p>Here's an outline of the packages required and those we recommend you use:
</p>
<dl>
<dt>SDK Tools</dt>
<dd><strong>Required.</strong> Your new SDK installation already has the latest version. Make sure
you keep this up to date.</dd>
<dt>SDK Platform-tools</dt>
<dd><strong>Required.</strong> You must install this package when you install the SDK for
the first time.</dd>
<dt>SDK Platform</dt>
<dd><strong>Required.</strong>You must download <em>at least one platform</em> into your
environment so you're able to compile your application. In order to provide the best user experience
on the latest devices, we recommend that you use the latest platform version as your build target.
You'll still be able to run your app on older versions, but you must build against the latest
version in order to use new features when running on devices with the latest version of Android.
<p>To get started, download the latest Android version, plus the lowest version you plan
to support (we recommend Android 2.2 for your lowest version).</p></dd>
<dt>System Image</dt>
<dd>Recommended. Although you might have one or more Android-powered devices on which to test
your app, it's unlikely you have a device for every version of Android your app supports. It's
a good practice to download system images for all versions of Android your app supports and test
your app running on them with the <a href="{@docRoot}tools/devices/emulator.html">Android emulator</a>.</dd>
<dt>Android Support</dt>
<dd>Recommended. Includes a static library that allows you to use some of the latest
Android APIs (such as <a href="{@docRoot}guide/components/fragments.html">fragments</a>,
plus others not included in the framework at all) on devices running
a platform version as old as Android 1.6. All of the activity templates available when creating
a new project with the <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a>
require this. For more information, read <a
href="{@docRoot}tools/support-library/index.html">Support Library</a>.</dd>
<dt>SDK Samples</dt>
<dd>Recommended. The samples 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 packages are available &mdash; one for each Android platform version. When
you are choosing a samples package to download, select the one whose API Level
matches the API Level of the Android platform that you plan to use.</dd>
</dl>
<p class="note"><strong>Tip:</strong> For easy access to the SDK tools from a command line, add the
location of the SDK's <code>tools/</code> and
<code>platform-tools</code> to your <code>PATH</code> environment variable.</p>
<p>The above list is not comprehensive and you can <a
href="#AddingSites">add new sites</a> to download additional packages from third-parties.</p>
<p>In some cases, an SDK package may require a specific minimum revision of
another package or SDK tool.
The development tools will notify you with warnings if there is dependency that you need to
address. The Android SDK Manager also enforces dependencies by requiring that you download any
packages that are needed by those you have selected.</p>
<h2 id="AddingSites">Adding New Sites</h2>
<p>By default, <strong>Available Packages</strong> displays packages available from the
<em>Android Repository</em> and <em>Third party Add-ons</em>. You can add other sites that host
their own Android SDK add-ons, then download the SDK add-ons
from those sites.</p>
<p>For example, a mobile carrier or device manufacturer might offer additional
API libraries that are supported by their own Android-powered devices. In order
to develop using their libraries, you must install their Android SDK add-on, if it's not already
available under <em>Third party Add-ons</em>. </p>
<p>If a carrier or device manufacturer has hosted an SDK add-on repository file
on their web site, follow these steps to add their site to the Android SDK
Manager:</p>
<ol>
<li>Select <strong>Available Packages</strong> in the left panel.</li>
<li>Click <strong>Add Add-on Site</strong> and enter the URL of the
<code>repository.xml</code> file. Click <strong>OK</strong>.</li>
</ol>
<p>Any SDK packages available from the site will now be listed under a new item named
<strong>User Add-ons</strong>.</p>
<h2 id="troubleshooting">Troubleshooting</h2>
<p><strong>Problems connecting to the SDK repository</strong></p>
<p>If you are using the Android SDK Manager to download packages and are encountering
connection problems, try connecting over http, rather than https. To switch the
protocol used by the Android SDK Manager, follow these steps: </p>
<ol>
<li>With the Android SDK Manager window open, select "Settings" in the
left pane. </li>
<li>On the right, in the "Misc" section, check the checkbox labeled "Force
https://... sources to be fetched using http://..." </li>
<li>Click <strong>Save &amp; Apply</strong>.</li>
</ol>