| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 1 | page.title=Installing the SDK | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 2 |  | 
 | 3 | @jd:body | 
 | 4 |  | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 5 |  | 
 | 6 | <script type="text/javascript"> | 
 | 7 | function toggleDiv(link) { | 
 | 8 |   var toggleable = $(link).parent(); | 
 | 9 |   if (toggleable.hasClass("closed")) { | 
 | 10 |     //$(".toggleme", toggleable).slideDown("fast"); | 
 | 11 |     toggleable.removeClass("closed"); | 
 | 12 |     toggleable.addClass("open"); | 
 | 13 |     $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + | 
 | 14 | "assets/images/triangle-opened.png")); | 
 | 15 |   } else { | 
 | 16 |     //$(".toggleme", toggleable).slideUp("fast"); | 
 | 17 |     toggleable.removeClass("open"); | 
 | 18 |     toggleable.addClass("closed"); | 
 | 19 |     $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + | 
 | 20 | "assets/images/triangle-closed.png")); | 
 | 21 |   } | 
 | 22 |   return false; | 
 | 23 | } | 
 | 24 | </script> | 
 | 25 | <style> | 
 | 26 | .toggleable { | 
 | 27 |   padding: .25em 1em 0em 1em; | 
 | 28 |   margin-bottom: 0; | 
 | 29 | } | 
 | 30 | .toggleme { | 
 | 31 |   padding: 1em 1em 0 2em; | 
 | 32 |   line-height:1em; | 
 | 33 | } | 
 | 34 | .toggleable a { | 
 | 35 |   text-decoration:none; | 
 | 36 | } | 
 | 37 | .toggleme a { | 
 | 38 |   text-decoration:underline; | 
 | 39 | } | 
 | 40 | .toggleable.closed .toggleme { | 
 | 41 |   display:none; | 
 | 42 | } | 
 | 43 | #jd-content .toggle-img { | 
 | 44 |   margin:0; | 
 | 45 | } | 
 | 46 | </style> | 
 | 47 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 48 | <div id="qv-wrapper"> | 
 | 49 | <div id="qv"> | 
 | 50 |  | 
 | 51 |   <h2>In this document</h2> | 
 | 52 |   <ol> | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 53 |     <li><a href="#Preparing">1. Preparing Your Development Computer</a></li> | 
 | 54 |     <li><a href="#Installing">2. Downloading the SDK Starter Package</a></li> | 
 | 55 |     <li><a href="#InstallingADT">3. Installing the ADT Plugin for Eclipse</a></li> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 56 |     <li><a href="#AddingComponents">4. Adding Platforms and Other Packages</a> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 57 |       <ol> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 58 |         <li><a href="#components">Available Packages</a></li> | 
 | 59 |         <li><a href="#which">Recommended Packages</a></li> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 60 |       </ol></li> | 
| Scott Main | 0a21f34 | 2010-11-08 12:06:26 -0800 | [diff] [blame] | 61 |     <li><a href="#sdkContents">5. Exploring the SDK (Optional)</a></li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 62 |     <li><a href="#NextSteps">Next Steps</a></li> | 
 | 63 |     <li><a href="#troubleshooting">Troubleshooting</a></li> | 
 | 64 |   </ol> | 
 | 65 |  | 
 | 66 | <h2>See also</h2> | 
 | 67 |   <ol> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 68 |     <li><a href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin for Eclipse</a></li> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 69 |     <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Packages</a></li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 70 |   </ol> | 
 | 71 |  | 
 | 72 | </div> | 
 | 73 | </div> | 
 | 74 |  | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 75 | <p>This page describes how to install the Android SDK | 
| Dirk Dougherty | a374f51 | 2009-11-09 11:41:09 -0800 | [diff] [blame] | 76 | and set up your development environment for the first time.</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 77 |  | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 78 | <p>If you encounter any problems during installation, see the | 
| Dirk Dougherty | a250f0c | 2009-10-22 18:02:45 -0700 | [diff] [blame] | 79 | <a href="#troubleshooting">Troubleshooting</a> section at the bottom of | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 80 | this page.</p> | 
 | 81 |  | 
 | 82 | <h4>Updating?</h4> | 
 | 83 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 84 | <p>If you already have an Android SDK, use the Android SDK Manager tool to install | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 85 | updated tools and new Android platforms into your existing environment. For information about how to | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 86 | do that, see <a href="{@docRoot}sdk/adding-components.html">Adding SDK Packages</a>.</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 87 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 88 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 89 | <h2 id="Preparing">Step 1. Preparing Your Development Computer</h2> | 
 | 90 |  | 
 | 91 | <p>Before getting started with the Android SDK, take a moment to confirm that | 
 | 92 | your development computer meets the <a href="requirements.html">System | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 93 | Requirements</a>. In particular, you might need to install the <a | 
 | 94 | href="http://java.sun.com/javase/downloads/index.jsp">JDK</a>, if you don't have it already. </p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 95 |  | 
 | 96 | <p>If you will be developing in Eclipse with the Android Development | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 97 | Tools (ADT) Plugin—the recommended path if you are new to | 
 | 98 | Android—make sure that you have a suitable version of Eclipse | 
| Robert Ly | 2a36cf4 | 2011-03-09 10:33:20 -0800 | [diff] [blame] | 99 | installed on your computer as described in the | 
 | 100 | <a href="requirements.html">System Requirements</a> document. | 
 | 101 | If you need to install Eclipse, you can download it from this location: </p> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 102 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 103 | <p style="margin-left:2em;"><a href= | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 104 | "http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p> | 
 | 105 |  | 
| Robert Ly | 2a36cf4 | 2011-03-09 10:33:20 -0800 | [diff] [blame] | 106 | <p>The "Eclipse Classic" version is recommended. Otherwise, a Java or | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 107 | RCP version of Eclipse is recommended.</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 108 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 109 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 110 | <h2 id="Installing">Step 2. Downloading the SDK Starter Package</h2> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 111 |  | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 112 | <p>The SDK starter package is not a full | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 113 | development environment—it includes only the core SDK Tools, which you can | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 114 | use to download the rest of the SDK packages (such as the latest Android platform).</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 115 |  | 
| Scott Main | 0a21f34 | 2010-11-08 12:06:26 -0800 | [diff] [blame] | 116 | <p>If you haven't already, get the latest version of the SDK starter package from the <a | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 117 | href="{@docRoot}sdk/index.html">SDK download page</a>.</p> | 
 | 118 |  | 
 | 119 | <p>If you downloaded a {@code .zip} or {@code .tgz} package (instead of the SDK installer), unpack | 
 | 120 | it to a safe location on your machine. By default, the SDK files are unpacked | 
 | 121 | into a directory named <code>android-sdk-<machine-platform></code>.</p> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 122 |  | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 123 | <p>If you downloaded the Windows installer ({@code .exe} file), run it now and it will check | 
 | 124 | whether the proper Java SE Development Kit (JDK) is installed (installing it, if necessary), then | 
 | 125 | install the SDK Tools into a default location (which you can modify).</p> | 
 | 126 |  | 
 | 127 | <p>Make a note of the name and location of the SDK directory on your system—you will need to | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 128 | refer to the SDK directory later, when setting up the ADT plugin and when using | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 129 | the SDK tools from the command line.</p> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 130 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 131 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 132 | <h2 id="InstallingADT">Step 3. Installing the ADT Plugin for Eclipse</h2> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 133 |  | 
 | 134 | <p>Android offers a custom plugin for the Eclipse IDE, called Android | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 135 | Development Tools (ADT), that is designed to give you a powerful, integrated | 
 | 136 | environment in which to build Android applications. It extends the capabilites | 
 | 137 | of Eclipse to let you quickly set up new Android projects, create an application | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 138 | UI, debug your applications | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 139 | using the Android SDK tools, and even export signed (or unsigned) APKs in order | 
 | 140 | to distribute your application. In general, developing in Eclipse with ADT is a | 
 | 141 | highly recommended approach and is the fastest way to get started with Android. | 
 | 142 | </p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 143 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 144 | <p>If you'd like to use ADT for developing Android applications, install it now. | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 145 | Read <a href="{@docRoot}sdk/eclipse-adt.html#installing">Installing the ADT Plugin</a> for | 
 | 146 | step-by-step installation instructions, then return here to continue the | 
 | 147 | last step in setting up your Android SDK.</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 148 |  | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 149 | <p>If you prefer to work in a different IDE, you do not need to | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 150 | install Eclipse or ADT. Instead, you can directly use the SDK tools to build and | 
 | 151 | debug your application. The <a href="{@docRoot}guide/developing/index.html">Introduction</a> | 
 | 152 | to Android application development outlines the major steps that you need to complete when | 
 | 153 | developing in Eclipse or other IDEs.</p> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 154 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 155 |  | 
| Dirk Dougherty | bf15ce6 | 2009-10-23 19:17:12 -0700 | [diff] [blame] | 156 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 157 | <h2 id="AddingComponents">Step 4. Adding Platforms and Other Packages</h2> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 158 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 159 | <p>The last step in setting up your SDK is using the Android SDK Manager (a | 
 | 160 | tool included in the SDK starter package) to download essential SDK packages into your development | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 161 | environment.</p> | 
| Dirk Dougherty | bf15ce6 | 2009-10-23 19:17:12 -0700 | [diff] [blame] | 162 |  | 
| Scott Main | 081127b | 2010-10-29 15:56:27 -0700 | [diff] [blame] | 163 | <p>The SDK uses a modular structure that separates the major parts of the SDK—Android platform | 
 | 164 | versions, add-ons, tools, samples, and documentation—into a set of separately installable | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 165 | packages. The SDK starter package, which you've already downloaded, includes only a single | 
 | 166 | package: the latest version of the SDK Tools. To develop an Android application, you also need to | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 167 | download at least one Android platform and the associated platform tools. You can add other | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 168 | packages and platforms as well, which is highly recommended.</p> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 169 |  | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 170 | <p>If you used the Windows installer, when you complete the installation wizard, it will launch the | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 171 | Android SDK Manager with a default set of platforms and other packages selected | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 172 | for you to install. Simply click <strong>Install</strong> to accept the recommended set of | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 173 | packages and install them. You can then skip to <a href="#sdkContents">Step 5</a>, but we | 
 | 174 | recommend you first read the section about the <a href="#components">Available Packages</a> to | 
 | 175 | better understand the packages available from the Android SDK Manager.</p> | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 176 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 177 | <p>You can launch the Android SDK Manager in one of the following ways:</p> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 178 | <ul> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 179 |   <li>From within Eclipse, select <strong>Window > Android SDK Manager</strong>.</li> | 
| Joe Malin | 2e3e3df | 2011-02-02 14:51:23 -0800 | [diff] [blame] | 180 |   <li>On Windows, double-click the <code>SDK Manager.exe</code> file at the root of the Android | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 181 | SDK directory.</li> | 
 | 182 |   <li>On Mac or Linux, open a terminal and navigate to the <code>tools/</code> directory in the | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 183 | Android SDK, then execute: <pre>android</pre> </li> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 184 | </ul> | 
 | 185 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 186 | <p>To download packages, use the graphical UI of the Android SDK | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 187 | Manager to browse the SDK repository and select new or updated | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 188 | packages (see figure 1). The Android SDK Manager installs the selected packages in | 
 | 189 | your SDK environment. For information about which packages you should download, see <a | 
 | 190 | href="#which">Recommended Packages</a>.</p> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 191 |  | 
 | 192 | <img src="/images/sdk_manager_packages.png" /> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 193 | <p class="img-caption"><strong>Figure 1.</strong> The Android SDK Manager's | 
 | 194 | <strong>Available Packages</strong> panel, which shows the SDK packages that are | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 195 | available for you to download into your environment.</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 196 |  | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 197 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 198 | <h3 id="components">Available Packages</h3> | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 199 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 200 | <p>By default, there are two repositories of packages for your SDK: <em>Android | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 201 | Repository</em> and <em>Third party Add-ons</em>.</p> | 
 | 202 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 203 | <p>The <em>Android Repository</em> offers these types of packages:</p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 204 |  | 
 | 205 | <ul> | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 206 | <li><strong>SDK Tools</strong> — Contains tools for debugging and testing your application | 
 | 207 | and other utility tools. These tools are installed with the Android SDK starter package and receive | 
 | 208 | periodic updates. You can access these tools in the <code><sdk>/tools/</code> directory of | 
 | 209 | your SDK. To learn more about | 
 | 210 | them, see <a href="{@docRoot}guide/developing/tools/index.html#tools-sdk">SDK Tools</a> in the | 
 | 211 | developer guide.</li> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 212 |  | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 213 | <li><strong>SDK Platform-tools</strong> — Contains platform-dependent tools for developing | 
 | 214 | and debugging your application. These tools support the latest features of the Android platform and | 
 | 215 | are typically updated only when a new platform becomes available. You can access these tools in the | 
 | 216 | <code><sdk>/platform-tools/</code> directory. To learn more about them, see <a | 
 | 217 | href="{@docRoot}guide/developing/tools/index.html#tools-platform">Platform Tools</a> in the | 
 | 218 | developer guide.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 219 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 220 | <li><strong>Android platforms</strong> — An SDK platform is | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 221 | available for every production Android platform deployable to Android-powered devices. Each | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 222 | SDK platform package includes a fully compliant Android library, system image, sample code, | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 223 | and emulator skins. To learn more about a specific platform, see the list of platforms that appears | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 224 | under the section "Downloadable SDK Packages" on the left part of this page.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 225 |  | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 226 | <li><strong>USB Driver for Windows</strong> (Windows only) — Contains driver files | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 227 | that you can install on your Windows computer, so that you can run and debug | 
 | 228 | your applications on an actual device. You <em>do not</em> need the USB driver unless | 
 | 229 | you plan to debug your application on an actual Android-powered device. If you | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 230 | develop on Mac OS X or Linux, you do not need a special driver to debug | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 231 | your application on an Android-powered device. See <a | 
 | 232 | href="{@docRoot}guide/developing/device.html">Using Hardware Devices</a> for more information | 
 | 233 | about developing on a real device.</li> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 234 |  | 
 | 235 | <li><strong>Samples</strong> — Contains the sample code and apps available | 
 | 236 | for each Android development platform. If you are just getting started with | 
 | 237 | Android development, make sure to download the samples to your SDK. <!--The download | 
 | 238 | includes not only a set of very useful sample apps, but also the source for <a | 
 | 239 | href="{@docRoot}resources/tutorials/hello-world.html">Hello World</a> and other | 
 | 240 | tutorials. --></li> | 
 | 241 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 242 | <li><strong>Documentation</strong> — Contains a local copy of the latest | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 243 | multiversion documentation for the Android framework API. </li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 244 | </ul> | 
 | 245 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 246 | <p>The <em>Third party Add-ons</em> provide packages that allow you to create a development | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 247 | environment using a specific Android external library (such as the Google Maps library) or a | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 248 | customized (but fully compliant) Android system image. You can add additional Add-on repositories by | 
 | 249 | clicking <strong>Add Add-on Site</strong>.</p> | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 250 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 251 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 252 | <h3 id="which">Recommended Packages</h3> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 253 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 254 | <p>The SDK repository contains a range of packages that you can download. | 
 | 255 | Use the table below to determine which packages you need, based on whether you | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 256 | want to set up a basic, recommended, or full development environment: | 
 | 257 | </p> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 258 |  | 
 | 259 | <table style="width:95%"> | 
 | 260 |  | 
 | 261 | <tr> | 
 | 262 | <th>Environment</th> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 263 | <th>SDK Package</th> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 264 | <th>Comments</th> | 
 | 265 | </tr> | 
 | 266 |  | 
 | 267 | <tr> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 268 | <td rowspan="3" style="font-size:.9em;background-color:#FFE;">Basic</td> | 
 | 269 | <td style="font-size:.9em;background-color:#FFE;">SDK Tools</td> | 
 | 270 | <td style="font-size:.9em;background-color:#FFE;">If you've just installed | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 271 | the SDK starter package, then you already have the latest version of this package. The | 
 | 272 | SDK Tools package is required to develop an Android application. Make sure you keep this up to | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 273 | date.</td> | 
 | 274 | </tr> | 
 | 275 |  | 
 | 276 | <tr> | 
 | 277 | <td style="font-size:.9em;background-color:#FFE;">SDK Platform-tools</td> | 
 | 278 | <td style="font-size:.9em;background-color:#FFE;">This includes more tools that are required | 
 | 279 | for application development. These tools are platform-dependent and typically update only when | 
 | 280 | a new SDK platform is made available, in order to support new features in the platform. These | 
 | 281 | tools are always backward compatible with older platforms, but you must be sure that you have | 
 | 282 | the latest version of these tools when you install a new SDK platform.</td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 283 | </tr> | 
 | 284 |  | 
 | 285 | <tr> | 
 | 286 | <td style="font-size:.9em;background-color:#FFE;">SDK platform</td> | 
 | 287 | <td style="font-size:.9em;background-color:#FFE;">You need to download <strong | 
 | 288 | style="color:red">at least one platform</strong> into your environment, so that | 
 | 289 | you will be able to compile your application and set up an Android Virtual | 
 | 290 | Device (AVD) to run it on (in the emulator). To start with, just download the | 
 | 291 | latest version of the platform. Later, if you plan to publish your application, | 
 | 292 | you will want to download other platforms as well, so that you can test your | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 293 | application on the full range of Android platform versions that your application supports.</td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 294 | </tr> | 
 | 295 | <tr> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 296 | <td colspan="2" | 
 | 297 | style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td><td | 
 | 298 | style="border:none"></td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 299 | </tr> | 
 | 300 | <tr> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 301 | <td rowspan="3">Recommended<br/>(plus Basic)</td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 302 | <td>Documentation</td> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 303 | <td>The Documentation package is useful because it lets you work offline and | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 304 | also look up API reference information from inside Eclipse.</td> | 
 | 305 | </tr> | 
 | 306 |  | 
 | 307 | <tr> | 
 | 308 | <td>Samples</td> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 309 | <td>The Samples packages give you source code that you can use to learn about | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 310 | Android, load as a project and run, or reuse in your own app. Note that multiple | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 311 | samples packages are available — one for each Android platform version. When | 
 | 312 | you are choosing a samples package to download, select the one whose API Level | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 313 | matches the API Level of the Android platform that you plan to use.</td> | 
 | 314 | </tr> | 
 | 315 | <tr> | 
 | 316 | <td>Usb Driver</td> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 317 | <td>The Usb Driver package is needed only if you are developing on Windows and | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 318 | have an Android-powered device on which you want to install your application for | 
 | 319 | debugging and testing. For Mac OS X and Linux platforms, no | 
 | 320 | special driver is needed.</td> | 
 | 321 | </tr> | 
 | 322 | <tr> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 323 | <td colspan="2" | 
 | 324 | style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td><td | 
 | 325 | style="border:none"></td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 326 | </tr> | 
 | 327 | <tr> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 328 | <td rowspan="3">Full<br/>(plus Recommended)</td> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 329 | <td>Google APIs</td> | 
 | 330 | <td>The Google APIs add-on gives your application access to the Maps external | 
 | 331 | library, which makes it easy to display and manipulate Maps data in your | 
 | 332 | application. </td> | 
 | 333 | </tr> | 
 | 334 | <tr> | 
 | 335 | <td>Additional SDK Platforms</td> | 
 | 336 | <td>If you plan to publish your application, you will want to download | 
 | 337 | additional platforms corresponding to the Android platform versions on which you | 
 | 338 | want the application to run. The recommended approach is to compile your | 
 | 339 | application against the lowest version you want to support, but test it against | 
| Dirk Dougherty | bf15ce6 | 2009-10-23 19:17:12 -0700 | [diff] [blame] | 340 | higher versions that you intend the application to run on. You can test your | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 341 | applications on different platforms by running in an Android Virtual Device | 
 | 342 | (AVD) on the Android emulator.</td> | 
 | 343 | </tr> | 
 | 344 |  | 
 | 345 | </table> | 
| Dirk Dougherty | eeb0b25 | 2009-10-22 16:08:32 -0700 | [diff] [blame] | 346 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 347 | <p>Once you've installed at least the basic configuration of SDK packages, you're ready to start | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 348 | developing Android apps. The next section describes the contents of the Android SDK to familiarize | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 349 | you with the packages you've just installed.</p> | 
| Dirk Dougherty | bf15ce6 | 2009-10-23 19:17:12 -0700 | [diff] [blame] | 350 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 351 | <p>For more information about using the Android SDK Manager, see the <a | 
 | 352 | href="{@docRoot}sdk/adding-components.html">Adding SDK Packages</a> document. </p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 353 |  | 
 | 354 |  | 
| Scott Main | 0a21f34 | 2010-11-08 12:06:26 -0800 | [diff] [blame] | 355 | <h2 id="sdkContents">Step 5. Exploring the SDK (Optional)</h2> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 356 |  | 
 | 357 | <p>Once you've installed the SDK and downloaded the platforms, documentation, | 
| Scott Main | 0a21f34 | 2010-11-08 12:06:26 -0800 | [diff] [blame] | 358 | and add-ons that you need, we suggest that you open the SDK directory and take a look at what's | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 359 | inside.</p> | 
 | 360 |  | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 361 | <p>The table below describes the full SDK directory contents, with packages | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 362 | installed. </p> | 
 | 363 |  | 
 | 364 | <table> | 
 | 365 | <tr> | 
 | 366 | <th colspan="3">Name</th><th>Description</th> | 
 | 367 | </tr> | 
 | 368 | <tr> | 
 | 369 | <td colspan="3"><code>add-ons/</code></td> | 
 | 370 | <td>Contains add-ons to the Android SDK development | 
 | 371 | environment, which let you develop against external libraries that are available on some | 
 | 372 | devices. </td> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 373 | </tr> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 374 | <tr> | 
 | 375 | <td colspan="3"><code>docs/</code></td> | 
 | 376 | <td>A full set of documentation in HTML format, including the Developer's Guide, | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 377 | API Reference, and other information. To read the documentation, load the | 
| Dirk Dougherty | eeb0b25 | 2009-10-22 16:08:32 -0700 | [diff] [blame] | 378 | file <code>offline.html</code> in a web browser.</td> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 379 | </tr> | 
 | 380 | <tr> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 381 | <td colspan="3"><code>platform-tools/</code></td> | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 382 | <td>Contains platform-dependent development tools that may be updated with each platform release. | 
 | 383 | The platform tools include the Android Debug Bridge ({@code adb}) as well as other tools that you | 
 | 384 | don't typically use directly. These tools are separate from the development tools in the {@code | 
 | 385 | tools/} directory because these tools may be updated in order to support new | 
 | 386 | features in the latest Android platform.</td> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 387 | </tr> | 
 | 388 | <tr> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 389 | <td colspan="3"><code>platforms/</code></td> | 
 | 390 | <td>Contains a set of Android platform versions that you can develop | 
 | 391 | applications against, each in a separate directory.  </td> | 
 | 392 | </tr> | 
 | 393 | <tr> | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 394 | <td style="width:2em;"></td> | 
| Scott Main | 0197999 | 2010-04-05 17:42:17 -0700 | [diff] [blame] | 395 | <td colspan="2"><code><em><platform></em>/</code></td> | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 396 | <td>Platform version directory, for example "android-11". All platform version directories contain | 
 | 397 | a similar set of files and subdirectory structure. Each platform directory also includes the | 
 | 398 | Android library (<code>android.jar</code>) that is used to compile applications against the | 
 | 399 | platform version.</td> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 400 | </tr> | 
 | 401 | <tr> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 402 | <td colspan="3"><code>samples/</code></td> | 
 | 403 | <td>Sample code and apps that are specific to platform version.</td> | 
 | 404 | </tr> | 
| Joe Malin | 2e3e3df | 2011-02-02 14:51:23 -0800 | [diff] [blame] | 405 | <tr> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 406 | <td colspan="3"><code>tools/</code></td> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 407 | <td>Contains the set of development and profiling tools that are platform-independent, such | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 408 | as the emulator, the Android SDK Manager, the AVD Manager, <code>ddms</code>, | 
 | 409 | <code>hierarchyviewer</code> | 
 | 410 | and more. The tools in this directory may be updated at any time using the Android SDK | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 411 | Manager and are independent of platform releases.</td> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 412 | </tr> | 
 | 413 | <tr> | 
| Dirk Dougherty | eeb0b25 | 2009-10-22 16:08:32 -0700 | [diff] [blame] | 414 | <td colspan="3"><code>SDK Readme.txt</code></td> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 415 | <td>A file that explains how to perform the initial setup of your SDK, | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 416 | including how to launch the Android SDK Manager tool on all | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 417 | platforms.</td> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 418 | </tr> | 
 | 419 | <tr> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 420 | <td colspan="3"><code>SDK Manager.exe</code></td> | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 421 | <td>Windows SDK only. A shortcut that launches the Android SDK | 
 | 422 | Manager tool, which you use to add packages to your SDK.</td> | 
| Dirk Dougherty | eeb0b25 | 2009-10-22 16:08:32 -0700 | [diff] [blame] | 423 | </tr> | 
 | 424 | <!--<tr> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 425 | <td colspan="3"><code>documentation.html</code></td> | 
 | 426 | <td>A file that loads the entry page for the local Android SDK | 
 | 427 | documentation.</td> | 
| Dirk Dougherty | eeb0b25 | 2009-10-22 16:08:32 -0700 | [diff] [blame] | 428 | </tr>--> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 429 |  | 
 | 430 | </table> | 
 | 431 |  | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 432 |  | 
 | 433 | <p>Optionally, you might want to add the location of the SDK's <code>tools/</code> and | 
 | 434 | <code>platform-tools</code> to your <code>PATH</code> environment variable, to provide easy | 
 | 435 | access to the tools.</p> | 
 | 436 |  | 
 | 437 |  | 
 | 438 | <div class="toggleable closed"> | 
 | 439 |   <a href="#" onclick="return toggleDiv(this)"> | 
 | 440 |         <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" | 
 | 441 | width="9px" /> | 
 | 442 |         How to update your PATH</a> | 
 | 443 |   <div class="toggleme"> | 
 | 444 |  | 
 | 445 | <p>Adding both <code>tools/</code> and <code>platform-tools/</code> to your PATH lets you run | 
 | 446 | command line <a href="{@docRoot}guide/developing/tools/index.html">tools</a> without needing to | 
 | 447 | supply the full path to the tool directories. Depending on your operating system, you can | 
 | 448 | include these directories in your PATH in the following way:</p> | 
 | 449 |  | 
 | 450 | <ul> | 
 | 451 |  | 
 | 452 |   <li>On Windows, right-click on My Computer, and select Properties. | 
 | 453 |   Under the Advanced tab, hit the Environment Variables button, and in the | 
 | 454 |   dialog that comes up, double-click on Path (under System Variables). Add the full path to the | 
 | 455 |   <code>tools/</code> and <code>platform-tools/</code> directories to the path. </li> | 
 | 456 |  | 
 | 457 |   <li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look | 
 | 458 |   for a line that sets the PATH environment variable and add the | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 459 |   full path to the <code>tools/</code> and <code>platform-tools/</code> directories to it. If you | 
| Scott Main | 4fb51ca | 2010-11-09 14:47:15 -0800 | [diff] [blame] | 460 |   don't see a line setting the path, you can add one: | 
 | 461 |   <pre>export PATH=${PATH}:<sdk>/tools:<sdk>/platform-tools</pre> | 
 | 462 |   </li> | 
 | 463 |  | 
 | 464 |   <li>On a Mac OS X, look in your home directory for <code>.bash_profile</code> and | 
 | 465 |   proceed as for Linux. You can create the <code>.bash_profile</code> if | 
 | 466 |   you don't already have one. </li> | 
 | 467 | </ul> | 
 | 468 |  | 
 | 469 | </div><!-- end toggleme --> | 
 | 470 | </div><!-- end toggleable --> | 
 | 471 |  | 
 | 472 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 473 | <h2 id="NextSteps">Next Steps</h2> | 
 | 474 | <p>Once you have completed installation, you are ready to | 
 | 475 | begin developing applications. Here are a few ways you can get started: </p> | 
 | 476 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 477 | <p><strong>Set up the Hello World application</strong></p> | 
 | 478 | <ul> | 
| Scott Main | 0197999 | 2010-04-05 17:42:17 -0700 | [diff] [blame] | 479 |   <li>If you have just installed the SDK for the first time, go to the <a | 
 | 480 |   href="{@docRoot}resources/tutorials/hello-world.html">Hello | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 481 |   World tutorial</a>. The tutorial takes you step-by-step through the process | 
 | 482 |   of setting up your first Android project, including setting up an Android | 
| Scott Main | 0197999 | 2010-04-05 17:42:17 -0700 | [diff] [blame] | 483 |   Virtual Device (AVD) on which to run the application. | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 484 | </li> | 
 | 485 | </ul> | 
 | 486 |  | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 487 | <p class="note">Following the Hello World tutorial is an essential | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 488 | first step in getting started with Android development. </p> | 
 | 489 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 490 | <p><strong>Learn about Android</strong></p> | 
 | 491 | <ul> | 
 | 492 |   <li>Take a look at the <a href="{@docRoot}guide/index.html">Dev | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 493 |   Guide</a> and the types of information it provides.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 494 |   <li>Read an introduction to Android as a platform in <a | 
 | 495 |   href="{@docRoot}guide/basics/what-is-android.html">What is | 
 | 496 |   Android?</a></li> | 
 | 497 |   <li>Learn about the Android framework and how applications run on it in | 
 | 498 |   <a href="{@docRoot}guide/topics/fundamentals.html">Application | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 499 |   Fundamentals</a>.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 500 |   <li>Take a look at the Android framework API specification in the <a | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 501 |   href="{@docRoot}reference/packages.html">Reference</a> tab.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 502 | </ul> | 
 | 503 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 504 | <p><strong>Explore the development tools</strong></p> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 505 | <ul> | 
 | 506 |   <li>Get an overview of the <a | 
 | 507 |   href="{@docRoot}guide/developing/tools/index.html">development | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 508 |   tools</a> that are available to you.</li> | 
 | 509 |   <li>Read the <a href="{@docRoot}guide/developing/index.html">Introduction</a> to Android | 
 | 510 | application development. | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 511 |   </li> | 
| Bill Gruber | 604917b | 2011-04-04 12:11:49 -0700 | [diff] [blame] | 512 |   <li>Read <a href="{@docRoot}guide/developing/device.html">Using Hardware Devices</a> to learn | 
 | 513 | how to set up an Android-powered device so you can run and test your application.</li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 514 | </ul> | 
 | 515 |  | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 516 | <p><strong>Follow the Notepad tutorial</strong></p> | 
 | 517 |  | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 518 | <ul> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 519 |   <li>The <a href="{@docRoot}resources/tutorials/notepad/index.html"> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 520 |   Notepad Tutorial</a> shows you how to build a full Android application | 
 | 521 |   and provides  helpful commentary on the Android system and API. The | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 522 |   Notepad tutorial helps you bring together the important design | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 523 |   and architectural concepts in a moderately complex application. | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 524 |   </li> | 
 | 525 | </ul> | 
| Scott Main | 38dea27 | 2010-11-01 13:03:25 -0700 | [diff] [blame] | 526 | <p class="note">Following the Notepad tutorial is an excellent | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 527 | second step in getting started with Android development. </p> | 
 | 528 |  | 
 | 529 | <p><strong>Explore some code</strong></p> | 
 | 530 |  | 
 | 531 | <ul> | 
 | 532 |   <li>The Android SDK includes sample code and applications for each platform | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 533 | version. You can browse the samples in the <a | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 534 | href="{@docRoot}resources/index.html">Resources</a> tab or download them | 
| Scott Main | a7b1b8c | 2012-03-14 17:16:11 -0700 | [diff] [blame] | 535 | into your SDK using the Android SDK Manager. Once you've downloaded the | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 536 | samples, you'll find them in | 
 | 537 | <code><em><sdk></em>/samples/<em><platform>/</em></code>. </li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 538 | </ul> | 
 | 539 |  | 
 | 540 | <p><strong>Visit the Android developer groups</strong></p> | 
 | 541 | <ul> | 
 | 542 |   <li>Take a look at the <a | 
| Dirk Dougherty | 22558d0 | 2009-12-10 16:25:06 -0800 | [diff] [blame] | 543 |   href="{@docRoot}resources/community-groups.html">Community</a> pages to see a list of | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 544 |   Android developers groups. In particular, you might want to look at the | 
 | 545 |   <a href="http://groups.google.com/group/android-developers">Android | 
 | 546 |   Developers</a> group to get a sense for what the Android developer | 
 | 547 |   community is like.</li> | 
 | 548 | </ul> | 
 | 549 |  | 
| Dirk Dougherty | 6b13bc0 | 2009-10-30 19:05:53 -0700 | [diff] [blame] | 550 | <h2 id="troubleshooting">Troubleshooting</h2> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 551 |  | 
 | 552 | <h3>Ubuntu Linux Notes</h3> | 
 | 553 |  | 
 | 554 | <ul> | 
 | 555 |   <li>If you need help installing and configuring Java on your | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 556 |     development machine, you might find these resources helpful: | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 557 |     <ul> | 
 | 558 |       <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li> | 
 | 559 |       <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li> | 
 | 560 |     </ul> | 
 | 561 |   </li> | 
 | 562 |   <li>Here are the steps to install Java and Eclipse, prior to installing | 
 | 563 |   the Android SDK and ADT Plugin. | 
 | 564 |     <ol> | 
 | 565 |       <li>If you are running a 64-bit distribution on your development | 
 | 566 |       machine, you need to install the <code>ia32-libs</code> package using | 
 | 567 |       <code>apt-get:</code>: | 
 | 568 |       <pre>apt-get install ia32-libs</pre> | 
 | 569 |       </li> | 
| Scott Main | ef4ca45 | 2010-04-12 16:05:49 -0700 | [diff] [blame] | 570 |       <li>Next, install Java: <pre>apt-get install sun-java6-jdk</pre></li> | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 571 |       <li>The Ubuntu package manager does not currently offer an Eclipse 3.3 | 
 | 572 |       version for download, so we recommend that you download Eclipse from | 
 | 573 |       eclipse.org (<a | 
 | 574 |       href="http://www.eclipse.org/downloads/">http://www.eclipse.org/ | 
 | 575 |       downloads/</a>). A Java or RCP version of Eclipse is recommended.</li> | 
| Scott Main | 06cf15e | 2010-10-28 00:02:31 -0700 | [diff] [blame] | 576 |       <li>Follow the steps given in previous sections to install the SDK | 
| Dirk Dougherty | ee58d1b | 2009-10-16 15:25:15 -0700 | [diff] [blame] | 577 |       and the ADT plugin. </li> | 
 | 578 |     </ol> | 
 | 579 |   </li> | 
 | 580 | </ul> | 
 | 581 |  | 
 | 582 | <h3>Other Linux Notes</h3> | 
 | 583 |  | 
 | 584 | <ul> | 
 | 585 |   <li>If JDK is already installed on your development computer, please | 
 | 586 |   take a moment to make sure that it meets the version requirements listed | 
 | 587 |   in the <a href="requirements.html">System Requirements</a>. | 
 | 588 |   In particular, note that some Linux distributions may include JDK 1.4 or Gnu | 
 | 589 |   Compiler for Java, both of which are not supported for Android development.</li> | 
| Dirk Dougherty | 7b229ef | 2010-03-26 17:32:26 -0700 | [diff] [blame] | 590 | </ul> |