| page.title=Exploring the SDK |
| excludeFromSuggestions=true |
| walkthru=1 |
| |
| @jd:body |
| |
| |
| <p>The Android SDK is composed of modular packages that you can download separately using |
| the Android 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. Simply follow the procedures described in <a |
| href="{@docRoot}sdk/installing/adding-packages.html">Adding Platforms and Packages</a>.</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 once you download them.</p> |
| |
| |
| <h2 id="Packages">Available Packages</h2> |
| |
| |
| <table> |
| <tr><th>Package</th><th>Description</th><th>File Location</th></tr> |
| <tr> |
| <td><a href="{@docRoot}tools/sdk/tools-notes.html">SDK Tools</a></td> |
| <td>Contains tools for debugging and testing, plus other |
| utilities that are required to develop an app. If you've just installed the SDK starter package, |
| then you already have the latest version of this package. Make sure you keep this up to date.</td> |
| <td>{@code <sdk>/tools/}</td></tr> |
| <tr><td>SDK Platform-tools</td> |
| <td>Contains platform-dependent tools for developing and debugging |
| your application. These tools support the latest features of the Android platform and are typically |
| updated only when a new platform becomes available. These tools are always backward compatible with |
| older platforms, but you must be sure that you have the latest version of these tools when you |
| install a new SDK platform.</td> |
| <td>{@code <sdk>/platform-tools/}</td> |
| </tr> |
| |
| <tr> |
| <td>Documentation</td> |
| <td>An offline copy of the latest documentation for the Android |
| platform APIs.</td> |
| <td>{@code <sdk>/docs/}</td> |
| </tr> |
| <tr><td>SDK Platform</td> |
| <td>There's one SDK Platform available for each version of Android. It includes an {@code |
| android.jar} file with a fully compliant Android library. In order to build an Android app, you must |
| specify an SDK platform as your build target.</td> |
| <td>{@code <sdk>/platforms/<android-version>/}</td> |
| </tr> |
| <tr> |
| <td>System Images</td> |
| <td>Each platform version offers one or more different system images (such as for ARM |
| and x86). The Android emulator requires a system image to operate. You should always test your |
| app on the latest version of Android and using the emulator with the latest system image is a |
| good way to do so.</td> |
| <td>{@code <sdk>/platforms/<android-version>/}</td> |
| </tr> |
| <tr> |
| <td>Sources for Android SDK</td> |
| <td>A copy of the Android platform source code that's useful for |
| stepping through the code while debugging your app.</td> |
| <td>{@code <sdk>/sources/}</td> |
| </tr> |
| <tr> |
| <td><a href="{@docRoot}tools/samples/index.html">Samples for SDK</a></td> |
| <td>A collection of sample apps that demonstrate a variety of the |
| platform APIs. These are a great resource to browse Android app code. The API Demos app in |
| particular provides a huge number of small demos you should explore.</td> |
| <td>{@code <sdk>/platforms/<android-version>/samples/}</td> |
| </tr> |
| <tr> |
| <td><a href="http://developers.google.com/android">Google APIs</a></td> |
| <td>An SDK add-on that provides both a platform you can use to develop an app |
| using special Google APIs and a system image for the emulator so you can test your app using the |
| Google APIs.</td> |
| <td>{@code <sdk>/add-ons/}</td> |
| </tr> |
| |
| <tr> |
| <td><a href="{@docRoot}tools/support-library/index.html">Android Support</a></td> |
| <td>A static library you can include in your app sources in order to use powerful |
| APIs that aren't available in the standard platform. For example, the support library |
| contains versions of the {@link android.support.v4.app.Fragment} class that's compatible with |
| Android 1.6 and higher (the class was originally introduced in Android 3.0) and the {@link |
| android.support.v4.view.ViewPager} APIs that allow you to easily build a side-swipeable UI.</td> |
| <td>{@code <sdk>/extras/android/support/}</td> |
| </tr> |
| <tr> |
| <td><a href="{@docRoot}google/play/billing/index.html">Google Play Billing</a></td> |
| <td>Provides the static libraries and samples that allow you to |
| integrate billing services in your app with Google Play.</td> |
| <td>{@code <sdk>/extras/google/}</td> |
| </tr> |
| <tr> |
| <td><a href="{@docRoot}google/play/licensing/index.html">Google Play Licensing</a></td> |
| <td>Provides the static libraries and samples that allow you to perform license verification for |
| your app when distributing with Google Play.</td> |
| <td>{@code <sdk>/extras/google/}</td> |
| </tr> |
| </table> |
| |
| <p>The above table 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. For example, there may be a dependency between the ADT Plugin for |
| Eclipse and |
| the SDK Tools package. When you install the SDK Tools |
| package, you should also upgrade to the required version of ADT (if you |
| are developing in Eclipse). In this case, the major version number for your ADT plugin should |
| always match the revision number of your SDK Tools (for example, ADT 8.x requires SDK Tools r8). |
| </p> |
| |
| <p>The development tools will notify you with debug 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 & Apply</strong>.</li> |
| </ol> |
| |
| |
| |
| |