19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpage.title=Upgrading the SDK
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectsdk.version=1.0_r2
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@jd:body
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>For the current SDK release, see the links under <strong>Current SDK Release</strong> in the side navigation.</p>
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>This guide will help you migrate your development environment and applications
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectto <strong>version 1.0, release 2</strong>, of the Android SDK. Use this guide if you've been developing applications
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecton a different version of the Android SDK.</p>
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>To ensure that your applications are compliant with the Android 1.0 system available 
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecton mobile devices, you need to install the new SDK and port your existing Android 
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectapplications to the updated API. The sections below guide you through the process.</p>
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<h2 id="install-new">Install the new SDK</h2>
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>After unpacking the SDK, you should:</p>
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<ul>
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <li>Wipe your emulator data. <p>Some data formats have changed since the last
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  SDK release, so any previously saved data in your emulator must be removed. Open a console/terminal
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  and navigate to the <code>/tools</code> directory of your SDK. Launch the 
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  emulator with the <code>-wipe-data</code> option. </p>
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <p>Windows: <code>emulator -wipe-data</code><br/>
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project   Mac/Linux: <code>./emulator -wipe-data</code></p>
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  </li>
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <li>Update your PATH variable (Mac/Linux; optional). <p>If you had previously setup your 
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  PATH variable to point to the SDK tools directory, then you'll need to update it to 
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  point to the new SDK. E.g., for a <code>.bashrc</code> or <code>.bash_profile</code> file:
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <code>export PATH=$PATH:<em>&lt;your_new_sdk_dir></em>/tools</code></p>
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  </li>
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</ul>
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<h2 id="update-plugin">Update your ADT Eclipse Plugin</h2>
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>If you develop on Eclipse and are using the ADT plugin, follow these steps to install the
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectplugin that's required for this version of the SDK.</p>
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<table style="font-size:100%">
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<tr>
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<td width="45%">
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<ol>
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip 
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      file</a> (do not unpack it).</li>
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; <strong>Find
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            and Install...</strong>. </li>
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>In the dialog that appears, select <strong>Search for new features to install</strong> and click 
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <strong>Next</strong>. </li>
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Click <strong>New Archive Site...</strong></li>
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Browse and select the downloaded the zip file.</li>
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>You should now see the new site added to the search list (and checked).
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Click <strong>Finish</strong>. </li>
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>In the subsequent Search Results dialog box, select the checkbox for
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <strong>Android Plugin</strong> &gt; <strong>Developer Tools</strong>.
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    This will check both features:  "Android Developer Tools", and "Android
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    Editors". The Android Editors feature is optional, but recommended.  If
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    you choose to install it, you need the WST plugin mentioned earlier in this
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    page. Click <strong>Next</strong>. </li>
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Read the license agreement and then select <strong>Accept terms of the license agreement</strong>. 
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project     Click <strong>Next</strong>. </li>
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Click <strong>Finish</strong>. </li>
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>The ADT plugin is not signed; you can accept the installation anyway
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        by clicking <strong>Install All</strong>. </li>
659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Restart Eclipse. </li>
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</ol>
679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</td>
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<td>
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<ol>
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip 
739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      file</a> (do not unpack it).</li>
749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.</li>
759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>In the dialog that appears, click the <strong>Available Software</strong> tab.</li>
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Click <strong>Add Site...</strong>, then <strong>Archive...</strong>.</li>
779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Browse and select the downloaded the zip file.</li>
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Back in the Available Software view, you should see the plugin. Select the checkbox next to 
799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <em>Developer Tools</em>  and click <strong>Install...</strong></li>
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked. 
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    The Android Editors feature is optional, but recommended.  If
829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    you choose to install it, you need the WST plugin mentioned earlier in this
839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    page. Click <strong>Next</strong>.</li>
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Accept the license agreement and click <strong>Finish</strong>.</li>
859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <li>Restart Eclipse. </li>
869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</ol>
879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</td>
899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</tr>
909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</table>
919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>After restart, update your Eclipse preferences to point to the SDK directory:</p>
939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    <ol>
949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <li>Select <strong>Window</strong> > <strong>Preferences...</strong> to open the Preferences panel. (Mac OSX: <strong>Eclipse</strong> > <strong>Preferences</strong>)</li>
959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <li>Select <strong>Android</strong> from the left panel.</li>
969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <li>For the SDK Location in the main panel, click <strong>Browse...</strong> and locate the SDK directory.</li>
979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project      <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    </ol>
999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<h2 id="sign">Set Up Application Signing</h2>
1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>All applications must now be signed before you can install them on the emulator. Both 
1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe ADT plugin and the Ant-based build tools support this requirement by signing compiled 
1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project.apk files with a debug key. To do so, the build tools use the Keytool utility included 
1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectin the JDK to to create a keystore and a key with a known alias and password. For more 
1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinformation, see "Signing and Publishing Your App" in the documentation included with the SDK.
1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>To support signing, you should first make sure that Keytool is available to the SDK build 
1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttools. In most cases, you can tell the SDK build tools how to find Keytool by making sure that 
1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectyour JAVA_HOME environment variable is set and that it references a suitable JDK. Alternatively, 
1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectyou can add the JDK version of Keytool to your PATH variable.</p>
1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>If you are developing on a version of Linux that originally came with Gnu Compiler for Java, 
1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectmake sure that the system is using the JDK version of Keytool, rather than the gcj version. 
1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectIf keytool is already in your PATH, it might be pointing to a symlink at /usr/bin/keytool. 
1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectIn this case, check the symlink target to make sure that it points to the keytool in the JDK.</p>
1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>If you use Ant to build your .apk files (rather than ADT for Eclipse), you must regenerate 
1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectyour build.xml file. To do that, follow these steps:</p>
1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<ol>
1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <li>In your Android application project directory, locate and delete the current build.xml file.</li>
1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  <li>Run activitycreator, directing output to the folder containing your application project.
1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<pre>- exec activitycreator --out &lt;project folder&gt; your.activity.YourActivity</pre>
1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  </li>
1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</ol>
1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>Run in this way, activitycreator will not erase or create new Java files (or manifest files), 
1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectprovided the activity and package already exists. It is important that the package and the activity 
1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectare real. The tool creates a new build.xml file, as well as a new directory called "libs" in which 
1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectto place 3rd jar files, which are now automatically handled by the Ant script.</p>
1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<h2 id="migrate">Migrate your applications</h2>
1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
136538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Dougherty<p>If (and only if) you have written apps in an SDK released previous to
137538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertythe Android 1.0 SDK, you will need to migrate your applications. After
138538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertyupdating your SDK, you may encounter breakages in your code, due to
139538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertyframework and API changes. You'll need to update your code to match
140538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertychanges in the Android APIs.</p>
1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>One way to start is to open your project in Eclipse and see where the ADT
143538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertyidentifies errors in your application. You can also look up
144538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk Doughertyspecific changes in the Android APIs in the <em>Overview of Changes</em> and <em>
145538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk DoughertyAPI Diffs Report</em>, both available in the documentation included with the
146538e53569b0c67dacf9f8f0b17ac8e5c080b55bbDirk DoughertyAndroid 1.0 SDK package.</p>
1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>If you have additional trouble updating your code, visit the 
1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectto seek help from other Android developers.</p>
1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>If you have modified one of the ApiDemos applications and would like to migrate it 
1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectto the new SDK, note that you will need to uninstall the version of ApiDemos that comes 
1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpreinstalled in the emulator.</p>
155