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>

















