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><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> > <strong>Software Updates</strong> > <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> > <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> > <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 <project folder> 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