1page.title=SDK Release Notes 2excludeFromSuggestions=true 3@jd:body 4 5<p>This document provides version-specific information about Android SDK 6releases. <!--For the latest known issues, please ensure that you're viewing this 7page at <a 8href="http://developer.android.com/sdk/RELEASENOTES.html">http://developer. 9android.com/sdk/RELEASENOTES.html</a>.--></p> 10 11<h2 id="multiversion_r1">Android SDK</h2> 12 13<p>The Android SDK has changed! If you've worked with the Android SDK before, 14you will notice several important differences:</p> 15 16<ul> 17<li style="margin-top:.5em">The SDK downloadable package includes <em>only</em> 18the latest version of the Android SDK Tools.</li> 19<li>Once you've installed the SDK, you now use the Android SDK and AVD Manager 20to download all of the SDK components that you need, such as Android platforms, 21SDK add-ons, tools, and documentation. </li> 22<li>The new approach is modular — you can install only the components you 23need and update any or all components without affecting your development 24environment.</li> 25<li>In short, once you've installed the new SDK, you will not need to download 26an SDK package again. Instead, you will use the Android SDK and AVD Manager to 27keep your development environment up-to-date. </li> 28</ul> 29 30<p>Note that if you are currently using the Android 1.6 SDK, you do not 31necessarily need to install the new SDK, since your existing SDK already 32includes the Android SDK and AVD Manager tool. To develop against Android 2.0.1, 33for example, you could just download the Android 2.0.1 platform into your existing 34SDK. </p> 35 36<p>Release notes for Android platforms and other SDK components are 37now available from the "SDK" tab, under "Downloadable SDK Components."</p> 38 39<ul> 40<li>Notes for the Android 2.0.1 platform are in the <a 41href="{@docRoot}about/versions/android-2.0.1.html">Android 2.0.1, Release 1</a> document. </li> 42<li>You can find information about tools changes in the <a 43href="{@docRoot}tools/sdk/tools-notes.html#notes">SDK Tools</a> and <a 44href="{@docRoot}tools/sdk/eclipse-adt.html#notes">ADT Plugin for Eclipse</a>.</li> 45</ul> 46 47<p>To get started with the SDK, review the Quick Start summary on the <a 48href="{@docRoot}studio/index.html">Android SDK download page</a> or read <a 49href="{@docRoot}studio/install.html">Installing the SDK</a> for detailed 50installation instructions. </p> 51 52 53<h2 id="1.6_r1">Android 1.6 SDK, Release 1</h2> 54 55<p>This SDK provides updates to the development tools and Android system that 56you use to create applications for compliant Android-powered devices. </p> 57 58<h3>Release Overview</h3> 59 60<p>This SDK release includes several new features for developers. Highlights of the 61changes include: </p> 62 63 <ul> 64 <li>Emulator support for multiple screen sizes/densities, including new 65skins. </li> 66 <li>Android SDK and AVD Manager, a graphical UI to let you manage your 67SDK and AVD environments more easily. The tool lets you create and manage 68your <a href="{@docRoot}tools/devices/managing-avds.html">Android Virtual 69Devices</a> and download new SDK packages (such as platform versions and 70add-ons) into your environment.</li> 71 <li>Improved support for test packages in New Project Wizard</li> 72 <li>The reference documentation now offers a "Filter by API Level" 73capability that lets you display only the parts of the API that are actually 74available to your application, based on the <code>android:minSdkVersion</code> 75value the application declares in its manifest. For more information, see 76<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a></li> 77 </ul> 78 79<p>For details about the Android platforms included in the SDK — including 80bug fixes, features, and API changes — please read the <a 81href="android-1.6.html">Android 1.6 version notes</a>.</p> 82 83<h3>Installation and Upgrade Notes</h3> 84 85<p>If you've been developing an application using an Android 1.1 SDK, you need 86to make a few changes to your development environment to migrate to the new SDK. 87Tools and documentation are provided to assist you. No changes to the source 88code of an existing application should be needed, provided that your application 89is not using Android internal structures or APIs.</p> 90 91<p>To ensure that your existing application will work properly on a device 92running the latest version of the Android platform, you are strongly encouraged 93to migrate the application to the new SDK, compile it using the platform 94matching the application's original API Level, and run it against the most 95current platform. </p> 96 97<h3>ADT Plugin for Eclipse</h3> 98 99<p>An updated version of the ADT Plugin for Eclipse is available with the 100Android 1.6 SDK. The new version, ADT 0.9.3, provides several new 101features, including integrated support for the Android SDK and AVD Manager 102and zipalign tool. In addition, the New Project Wizard now 103lets you create a test package containing tests for your application. These 104features are described in the sections below. </p> 105 106<p>If you are developing in Eclipse with ADT and want to get started with the 107Android 1.6 SDK, you should download and install a compatible version of the ADT 108Plugin (0.9.3 or higher). </p> 109 110<p>The new version of ADT is downloadable from the usual remote update site or 111is separately downloadable as a .zip archive. For instructions on how to 112download the plugin, please see <a 113href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>. </p> 114 115<h3>Android SDK and AVD Manager</h3> 116 117<p>The SDK offers a new tool called Android SDK and AVD Manager that lets you 118manage your SDK and AVD environments more efficiently. </p> 119 120<p>Using the tool, you can quickly check what Android platforms, add-ons, 121extras, and documentation packages are available in your SDK environment, what 122their versions are, and whether updated versions are available. You can then 123download one or more items from remote repositories and install them directly in 124your SDK environment. For example, the tool lets you obtain updates to SDK tools 125incrementally, as they are made available, without having to wait for the next 126SDK release. You can also download Android platform versions into your 127environment that were not included in the SDK package.</p> 128 129<p>The tool also lets you quickly create new AVDs, manage 130their properties, and run a target AVD from a single window. </p> 131 132<p>If you are developing in Eclipse with ADT, you can access the Android SDK 133and AVD Manager from the <strong>Window</strong> menu. </p> 134 135<p>If you are developing in another IDE, you can access the Android SDK and 136AVD Manager through the <code>android</code> command-line tool, located in the 137<sdk>/tools directory. You can launch the tool with a graphical UI by 138using the <code>android</code> command without specifying any options. You can 139also simply double-click the android.bat (Windows) or android (OS X/Linux) file. 140You can still use <code>android</code> commands to create and manage AVDs, 141including AVDs with custom hardware configurations.</p> 142 143<h3>Integration with zipalign</h3> 144 145<p>The Android system offers a performance optimization for installed 146application packages whose contained uncompressed files are all aligned on 1474-byte boundaries. For these .apks, the system can read the files by mmap'ing 148the zip file, rather than by copying all the data out of them. This reduces 149the amount of memory used by the application at run time. The SDK includes 150a tool called <code>zipalign</code> that you can run against your .apks, to 151align them properly and enable them to benefit from this optimization.</p> 152 153<p>The ADT Plugin and the Ant build tools both provide integrated support for 154aligning your application packages. After you build an .apk, the SDK tools can 155sign and then run <code>zipalign</code> against it. The SDK includes the 156standalone version of the <code>zipalign</code> tool, so you can run also run it 157manually from the command line if you choose. </p> 158 159<ul> 160 <li>If you are developing in Eclipse with ADT, support for 161<code>zipalign</code> is integrated into the Export Wizard. When you use the 162Wizard to export a signed application package, ADT signs and then automatically 163runs <code>zipalign</code> against the exported package. If you use the Wizard 164to export an unsigned application package, then it will not zipalign the 165package because zipalign must be performed only after the APK has been signed. 166You must manually sign and zipalign the package after export. </li> 167 <li>If you are developing using Ant and are compiling in release mode, the 168build tools will automatically sign and then <code>zipalign</code> the 169application package, provided that you have specified the location of a valid 170keystore in the build properties file. If you are compiling in debug mode, the 171build tools will sign the package with the debug key and then <code>zipalign</code> 172it.</li> 173 <li>To use <code>zipalign</code> manually, change to the SDK tools directory 174and use the command syntax <code>$ zipalign 4 <infile> 175<outfile></code></li> 176</ul> 177 178<p>In general, note that you must <code>zipalign</code> an application only 179<em>after</em> it has been signed, as signing will disrupt the package 180alignment.</p> 181 182<h3>Support for Test Packages in New Project Wizard</h3> 183 184<p>The New Project Wizard available in the ADT 0.9.3 now lets you add a test 185package containing Instrumentation or other classes of tests while you are 186creating or importing a new Android application project. </p> 187 188<h3>New USB Driver for Windows</h3> 189 190<p>If you are using Windows and want to develop or test your application on an 191Android-powered device (such as the T-Mobile G1), you need an appropriate USB 192driver. 193 194<p>The Windows version of the Android 1.6 SDK includes a new, WinUSB-based 195driver that you can install. The driver is compatible with both 32- and 64-bit 196versions of Windows XP and Vista. The driver represents an upgrade from the USB 197driver included in previous Android SDKs, although installing the new driver is 198not required. </p> 199 200<p>If you installed the USB driver from a previous SDK release and it is working 201properly, you do not need to upgrade to the new driver. However, we recommend 202upgrading if you have had any problems with the older driver or simply want 203to upgrade to the latest version.</p> 204 205<p>For driver installation or 206upgrade instructions, see <a 207href="{@docRoot}studio/run/win-usb.html">USB Driver for Windows</a>.</p> 208</p> 209 210<h3>Emulator Skins, Android 1.6 Platform</h3> 211 212<p>The Android 1.6 platform included in the SDK provides a new set of emulator 213skins, including: </p> 214 215<ul> 216 <li>QVGA — 240 x 320, low density (120 dpi)</li> 217 <li>HVGA — 320 x 480, medium density (160 dpi)</li> 218 <li>WVGA800 — 480 x 800, high density (240 dpi)</li> 219 <li>WVGA854 — 480 x 854, high density (240 dpi)</li> 220</ul> 221 222<p>Besides these defaults, You can also create an AVD that overrides the default 223density for each skin, to create any combination of resolution/density (WVGA 224with medium density, for instance). To do so, use the <code>android</code> tool 225command line to create a new AVD that uses a custom hardware configuration. See 226<a href="{@docRoot}tools/devices/managing-avds.html#createavd">Creating an 227AVD</a> for more information.</p> 228 229<h3>Other Notes and Resolved Issues</h3> 230 231<ul> 232 <li>This SDK release adds support for Eclipse 3.5 (Galileo) and deprecates 233support for Eclipse 3.3 (Europa). </li> 234 <li>We regret to inform developers that Android 1.6 will not include support 235for <a href="http://www.ietf.org/rfc/rfc2549">RFC 2549</a></li> 236 <li>The issue preventing adb from recognizing Samsung Galaxy devices (linux SDK 237only) has been fixed.</li> 238</ul> 239 240 241<h2 id="1.5_r3">Android 1.5 SDK, Release 3</h2> 242 243<p>Provides an updated Android 1.5 system image that includes permissions 244fixes, as described below, and a new application — an IME for Japanese 245text input. Also provides the same set of developer tools included in the 246previous SDK, but with bug fixes and several new features.</p> 247 248<h3>Permissions Fixes</h3> 249 250<p>The latest version of the Android platform, deployable to 251Android-powered devices, includes fixes to the permissions-checking 252in certain areas of the framework. Specifically, the Android system 253now properly checks and enforces several existing permissions where it 254did not do so in the previous release. Because of these changes in 255enforcement, you are strongly encouraged to test your application 256against the new Android 1.5 system image included in this SDK, to ensure 257that it functions normally. </p> 258 259<p>In particular, if your application uses any of the system areas listed below, 260you should add the required permissions to the application's manifest and then 261test the areas of your code that depend on the permission-protected services. 262Even if you believe your application does not use the permissions-protected 263services, you should compile and test your application under the latest platform 264version to ensure that users will not encounter problems when using your 265application. </p> 266 267<p>The changes to permissions are as follows:</p> 268 269<ul> 270<li>When an application requests access to device camera (through 271android.hardware.camera), the <code>CAMERA</code> permission check is now 272properly enforced. </li> 273<li>When an application requests access to device audio capture (through 274android.media.MediaRecorder), the <code>RECORD_AUDIO</code> permission check is 275now properly enforced.</li> 276</ul> 277 278<p>For more information, see the issue described in the oCert advisory 279below:</p> 280 281<p style="margin-left: 2em;"><a href="http://www.ocert.org/advisories/ocert-2009-011.html">http://www.ocert.org/advisories/ocert-2009-011.html</a> </p> 282 283<h3>Resolved Issues, Changes</h3> 284 285<ul> 286<li>The SDK includes a new version of the Google APIs add-on. The add-on 287provides an updated com.google.android.maps external library that fixes compile 288errors related to certain classes such as GeoPoint. For information about the 289Google APIs add-on and the library it provides, see: 290 291<p style="margin-left:2em;"><a 292href="http://code.google.com/android/add-ons/google-apis">http://code.google.com/android/add-ons/google-apis</a> </p></li> 293 294<li>The SDK add-on architecture now lets device manufacturers specify a USB 295Vendor ID in their add-ons. 296<li>The <code>android</code> tool provides a new command that scans SDK add-ons 297for their USB Vendor IDs and makes them available to adb (OS X and Linux 298versions of the SDK only). The command is <code>android update adb</code>. On 299Windows versions of the SDK, a custom USB driver is included that supports the 300"Google" and "HTC" Vendor IDs, which allow adb to recognize G1 and HTC 301Magic devices. For other devices, contact the device manufacturer 302to obtain a USB driver, especially if you have an SDK add-on that defines 303a new USB Vendor ID.</li> 304<li>The telephony, sensor, and geo fix issues in the emulator are now 305fixed.</li> 306<li>When you use adb to uninstall an upgraded application, the Android system 307now properly restores any permissions that had already been granted to the 308previous (downgrade) version of the application</li> 309</ul> 310 311<h2 id="1.5_r2">Android 1.5 SDK, Release 2</h2> 312 313<p>This SDK release provides the same developer tools as the Android 1.5 SDK, 314Release 1, but provides an updated Android 1.5 system image that includes a 315security patch for the issue described in the oCert advisory below:</p> 316 317<p style="margin-left:2em;"><a href="http://www.ocert.org/advisories/ocert-2009-006.html">http://www.ocert.org/advisories/ocert-2009-006.html</a></p> 318 319<h2 id="1.5_r1">Android 1.5 SDK, Release 1</h2> 320 321<p>This SDK provides updates to the development tools and Android system that 322you use to create applications for compliant Android-powered devices. </p> 323 324<h3>Release Overview</h3> 325 326<p>This SDK release includes many new features for developers. Highlights of the 327changes include: </p> 328 329 <ul> 330 <li>Multiple versions of the Android platform are included (Android 1.1, 331Android 1.5). The tools are updated to let you deploy your application 332on any platform in the SDK, which helps you ensure forward-compatibility and, 333if applicable, backward-compatibility.</li> 334 <li>Introduces <a href="{@docRoot}tools/devices/managing-avds.html">Android 335Virtual Devices</a> — (AVD) configurations of options that you 336run in the emulator to better model actual devices. Each AVD gets its 337own dedicated storage area, making it much easier to work with multiple emulators 338that are running concurrently.</li> 339 <li>Support for SDK add-ons, which extend the 340Android SDK to give you access to one or more external Android libraries and/or 341a customized (but compliant) system image that can run in the emulator. </li> 342 <li>The new Eclipse ADT plugin (version 0.9.x) offers new Wizards to let you 343create projects targeted for specific Android configurations, generate XML 344resources (such as layouts, animations, and menus), generate alternate layouts, 345and export and sign your application for publishing.</li> 346 <li>Improved JUnit support in ADT</li> 347 <li>Easier profiling of performance</li> 348 <li>Easier management of localized applications. You can now include or 349exclude locale resources when building your APK from a single 350Android project.</li> 351 <li>A new tool called "android" replaces the activitycreator script.</li> 352 </ul> 353 354<p>For details about the Android platforms included in the SDK — including 355bug fixes, features, and API changes — please read the <a 356href="{@docRoot}about/versions/android-1.5.html">Android 1.5 version notes</a>.</p> 357 358<h3>Installation and Upgrade Notes</h3> 359 360<p>If you've been developing an application using an Android 1.1 SDK, you need 361to make a few changes to your development environment to migrate to the new SDK. 362Tools and documentation are provided to assist you. No changes to the source 363code of an existing application should be needed, provided that your application 364is not using Android internal structures or APIs.</p> 365 366<p>To ensure that your existing application will work properly on a device 367running the latest version of the Android platform, you are strongly encouraged 368to migrate the application to the new SDK, compile it using the platform 369matching the application's original API Level, and run it against the most 370current platform. </p> 371 372<h3>SDK Add-Ons</h3> 373 374<p>This version of the SDK introduces support for SDK add-ons, which extend the 375Android SDK to give you access to one or more external Android libraries and/or 376a customized (but compliant) system image that can run in the emulator. The 377purpose of an SDK add-on is to give you a way to develop applications for a 378specific actual device (or family of devices) that extends the APIs available to 379Android applications through external libraries or system customizations. </p> 380 381<p>From the perspective of your Android development environment, an SDK add-on 382is similar to any of the Android platform targets included in the SDK — it 383includes an external library, a system image, as well as custom emulator skins 384and system properties. The add-on differs in that the Android platform it 385provides may include customized UI, resources, or behaviors, a different set of 386preinstalled applications, or other similar modifications. 387 388<p>The SDK includes a single SDK add-on — the Google APIs add-on. The 389Google APIs add-on gives your application access to the com.google.android.maps 390external library that is included on many (if not most) Android-powered devices. 391The Google APIs add-on also includes a {@link android.location.Geocoder Geocoder} 392backend service implementation. For more information, see the "Maps External 393Library" section below. </p> 394 395<h3>Android Virtual Devices (AVDs)</h3> 396 397<p>The SDK now gives you the capability to compile an application against any 398one of several system targets, then run it in the emulator on top of any 399compatible system image. There are two types of targets:</p> 400<ul> 401<li>Targets that represent core Android platform versions. </li> 402<li>Targets that are SDK add-ons, which typically provide application access to 403one or more external libraries and/or a customized (but compliant) system image 404that can run in the emulator. 405</ul> 406 407<p>A new tool called "android" lets you discover what targets and AVDs are 408available to use.</p> 409 410<p>For more information about AVDs, see <a 411href="{@docRoot}tools/devices/index.html">Creating and Managing Virtual Devices</a> 412 413<h3>Other Notes</h3> 414 415<p><strong>Maps External Library</strong></p> 416 417<p>In previous versions of the SDK, the com.google.android.maps package was 418included in the standard Android library and system image. In the Android 1.5 419SDK, that is not the case. The Android 1.5 library and system image do not 420include the Maps external library (com.google.android.maps). However, the Maps 421external library is available as part of the Google APIs add-on for the Android 422SDK, downloadable from this location: </p> 423 424<p style="margin-left:2em;"><a 425href="http://code.google.com/android/add-ons/google-apis">http://code.google.com 426/android/add-ons/google-apis</a> </p> 427 428<p>For your convenience, the Google APIs add-on is included in the SDK. </p> 429 430<p>For information about how to register for a Maps API Key, see 431<a href="http://code.google.com/android/add-ons/google-apis/mapkey.html"> 432Obtaining a Maps API Key</a>.</p> 433 434<p><strong>USB Drivers for Windows</strong></p> 435 436<p>If you are using Windows and want to develop or test your application on an 437Android-powered device (such as the T-Mobile G1), you need an appropriate USB 438driver. For your convenience, the Windows version of the Android SDK includes 439these USB drivers that you can install, to let you develop on the device:</p> 440 441<ul> 442<li>USB driver for 32-bit XP and Vista</li> 443<li>USB driver for 64-bit Vista only</li> 444</ul> 445 446<p>For driver installation or 447upgrade instructions, see <a 448href="{@docRoot}studio/run/win-usb.html">USB Driver for Windows</a>.</p> 449</p> 450 451<h3>Resolved Issues, Changes</h3> 452 453<p><strong>Media</strong></p> 454<ul> 455<li>Updated documentation for {@link android.media.SoundPool 456android.media.SoundPool}</li> 457<li>{@link android.webkit.WebView} objects no longer automatically save 458thumbnails. The {@link android.webkit.WebView#capturePicture() capturePicture()} 459method will need to be called manually.</li> 460</ul> 461 462<h3>Known Issues</h3> 463 464<p><strong>Sensor problems in Emulator</strong></p> 465 466<ul> 467<li>If your application uses the Sensor API and you are running it in the 468emulator on the Android 1.5 system image, you may experience problems. Your 469application may generate ANR messages or crash when using the sensors. The 470problem is being investigated.</li> 471</ul> 472 473<p><strong>Other</strong></p> 474 475<ul> 476<li>We regret to inform developers that Android 1.5 will not include support for 477the Zilog Z80 processor architecture.</li> 478</ul> 479 480 481<h2 id="1.1_r1">Android 1.1 SDK, Release 1</h2> 482 483<p>This SDK provides the development tools and Android system image you need to 484create applications for Android-powered devices. Applications developed on this 485SDK will be compatible with mobile devices running the Android 1.1 platform. 486</p> 487 488<p>This release provides an updated system image (Android 1.1), updated 489documentation, and the same set of development tools provided in the Android 1.0 490r2 SDK. The updated system image includes bug fixes and some smaller features, 491as well as a few minor API changes from the 1.0 version. </p> 492 493<p>For details about the Android 1.1 system image included in the SDK — 494including bug fixes, features, and API changes — please read the <a 495href="{@docRoot}about/versions/android-1.1.html">Android 1.1 version notes</a>.</p> 496 497<h3>App Versioning for Android 1.1</h3> 498 499<p>If you are using this SDK to build an application that is compatible 500<em>only</em> with Android-powered devices running the Android 1.1 platform, 501please note that you <strong>must</strong> set the the 502<code>android:minSdkVersion</code> attribute in the application's manifest to 503the API Level of Android 1.1 — "2".</p> 504 505<p>Specifically, you specify the <code>android:minSdkVersion</code> attribute in 506a <code><uses-sdk></code> element as a child of 507<code><manifest></code> in the manifest file. When set, the attribute 508looks like this: </p> 509 510<pre><code><manifest> 511 ... 512 <uses-sdk android:minSdkVersion="2" /> 513 ... 514</manifest></code> 515</pre> 516 517<p>By setting <code>android:minSdkVersion</code> in this way, you ensure that 518users will only be able to install your application if their devices are running 519the Android 1.1 platform. In turn, this ensures that your application will 520function properly on their devices, especially if it uses APIs introduced in 521Android 1.1. </p> 522 523<p>If your application uses APIs introduced in Android 1.1 but does not declare 524<code><uses-sdk android:minSdkVersion="2" /></code>, then it will run properly on 525Android 1.1 devices but <em>not</em> on Android 1.0 devices. </p> 526 527<p>If your application does not use any new APIs introduced in Android 1.1, you 528can indicate Android 1.0 compatibility by removing <code>android:minSdkVersion</code> or 529setting the attribute to "1". However, before publishing your application, you 530must make sure to compile your application against the Android 1.0 system image 531(available in the Android 1.0 SDK), to ensure that it builds and functions 532properly for Android 1.0 devices. You should test the application against system 533images corresponding to the API Levels that the application is designed to be 534compatible with.</p> 535 536<p>If you are sure your application is not using Android 1.1 APIs and has no 537need to use them, you might find it easier to keep working in the Android 1.0 538SDK, rather than migrating to the Android 1.1 SDK and having to do additional 539testing.</p> 540 541 542<h3>ADT Plugin Compatibility</h3> 543 544<p>For this version of the SDK — Android 1.1 SDK, Release 1 545— the compatible version of the Android Development Tools (ADT) 546Plugin for Eclipse is <strong>0.8.0</strong>. If you are using a 547previous version of ADT, you should update to the latest version for use 548with this SDK. For information about how to update your ADT plugin, see 549<a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p> 550 551<h3>Installation and Upgrade Notes</h3> 552 553<p>If you've been developing an application using an Android 1.0 SDK no 554changes to your application are needed. You may want to wipe application 555user data (emulator option <code>-wipe-data</code>) when running your 556application on the Android 1.1 emulator for the first time.</p> 557 558<h3>Other Notes</h3> 559 560<p><strong>MapView API Key</strong></p> 561 562<p>com.google.android.maps.MapView is a class that lets you 563easily integrate Google Maps into your application. Before you can 564access the maps data, you will need to register with the Google Maps 565service and receive a Maps API Key, which you then add to your MapView 566for authentication to the server.</p> 567 568<p>Developers should note that the registration service for MapView is now 569active and Google Maps is actively enforcing the Maps API Key requirement. 570For information about how to register for a Maps API Key, see 571<a href="http://code.google.com/android/add-ons/google-apis/mapkey.html"> 572Obtaining a Maps API Key</a>.</p> 573 574<p><strong>USB Drivers for Windows</strong></p> 575 576<p>If you using Windows and want to develop or test your application on an 577Android-powered device (such as the T-Mobile G1), you need an appropriate USB 578driver. For your convenience, the Windows version of the Android SDK includes 579these USB drivers that you can install, to let you develop on the device:</p> 580 581<ul> 582<li>USB driver for 32-bit XP and Vista</li> 583<li>USB driver for 64-bit Vista only</li> 584</ul> 585 586<p>The USB driver files are located in the 587<code><SDK>/usb_driver</code> directory. For details and 588installation instructions, see <a 589href="{@docRoot}tools/device.html#setting-up">Connecting Hardware Devices</a>.</p> 590</p> 591 592<h3>Resolved Issues, Changes</h3> 593 594<p><strong>Emulator</strong></p> 595<ul> 596<li>Emulator now saves the user image in <android>/SDK1.1/</code></li> 597</ul> 598 599<h3>Known Issues</h3> 600 601<p><strong>JUnit and Eclipse/ADT</strong></p> 602<ul> 603<li>If you are developing in Eclipse/ADT and want to add JUnit test 604classes, you can do so. However, you need to set up a custom JUnit configuration 605before your tests will run properly. For detailed information about how to set 606up the JUnit configuration, see the troubleshooting topic <a 607href="{@docRoot}resources/faq/troubleshooting.html#addjunit">Running a Junit test class 608in Eclipse</a>.</li> 609</ul> 610 611<p><strong>Other</strong></p> 612 613<ul> 614<li>It is not possible to send MMS messages between emulator instances. </li> 615<li>In some cases, you may encounter problems when using the browser on an 616emulator started with the command-line option <code>-http-proxy</code>. </li> 617<li>On the OSX platform, if you manually remove the ~/.android directory 618using <code>rm -rf ~/.android</code>, then try to run 619the emulator, it crashes. This happens because the emulator fails to create 620a new .android directory before attempting to create the child SDK1.0 directory. 621To work around this issue, manually create a new .android directory using 622<code>mkdir ~/.android</code>, then run the emulator. The emulator 623creates the SDK1.0 directory and starts normally. </li> 624<li>We regret to inform developers that Android 1.1 will not include support 625for ARCNet network interfaces.</li> 626<li>The final set of Intent patterns honored by Android 1.0 has not yet been 627fully documented. Documentation will be provided in future releases.</li> 628<li>In ADT Editor, you can add at most ten new resource values at a time, 629in a given res/values/*.xml, using the form in the Android Resources pane. 630If you add more than ten, the Android Resources pane will not display the 631attributes fields for the additional resource entries. To work around this 632problem, you can close the file in the editor and open it again, or you 633can edit the resource entries in the XML text mode. </li> 634<li>The emulator's battery-control commands (<code>power <option></code>) 635are not working in this release.</li> 636</ul> 637 638 639<h2 id="1.0_r2">Android 1.0 SDK, Release 2</h2> 640 641<p>This SDK release includes the Android 1.0 platform and application API. 642Applications developed on this SDK will be compatible with mobile devices 643running the Android 1.0 platform.</p> 644 645<p>This release includes mainly bug fixes, although some smaller features were 646added.</p> 647 648<h3>ADT Plugin Compatibility</h3> 649 650<p>For this release of the SDK, the compatible version of the Android 651Development Tools (ADT) Plugin for Eclipse is <strong>0.8.0</strong>. If you are 652using a previous version of ADT, you should update to the latest version for use 653with this SDK. For information about how to update your ADT plugin, see <a 654href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p> 655 656<h3>Other Notes</h3> 657 658<p><strong>T-Mobile G1 Compatibility</strong></p> 659 660<p>This version of the SDK has been tested for compatibility with the first 661Android-powered mobile device, the T-Mobile 662G1. </p> 663 664<p><strong>MapView API Key</strong></p> 665 666<p>MapView is a class that lets you easily integrate Google Maps into your 667application. Before you can access the maps data, you will need to register with 668the Google Maps service and receive a Maps API Key, which you then add to your 669MapView for authentication to the server.</p> 670 671<p>Developers should note that the registration service for MapView is now 672active and Google Maps is actively enforcing the Maps API Key requirement. For 673information about how to register for a Maps API Key, see <a 674href="http://code.google.com/android/add-ons/google-apis/mapkey.html">http://code.google.com/android/add-ons/google-apis/mapkey.html</a>. 675</p> 676 677<p><strong>USB Driver for Windows</strong></p> 678<p>If you using Windows and want to develop or test your application on an 679Android-powered device (such as the T-Mobile G1), you need an appropriate USB 680driver. For your convenience, the Windows version of the Android SDK includes a 681USB driver that you can install, to let you develop on the device. The USB 682driver files are located in the <code><SDK>/usb_driver</code> directory. 683 684</p> 685 686<h3>Resolved Issues, Changes</h3> 687<ul> 688<li>The android.jar in this SDK release now includes several classes that were 689missing from the previous SDK. </li> 690<li>The android.R.styleable class and its fields were removed from the public 691API, to better ensure forward-compatibility for applications. The constants 692declared in android.R.styleable were platform-specific and subject to arbitrary 693change across versions, so were not suitable for use by applications. You can 694still access the platform's styleable attributes from your resources or code. To 695do so, declare a custom resource element using a 696<code><declare-styleable></code> in your project's res/values/R.attrs 697file, then declare the attribute inside. For examples, see 698<sdk>/samples/ApiDemos/res/values/attrs.xml. For more information about 699custom resources, see <a 700href="{@docRoot}guide/topics/resources/available-resources.html#customresources">Custom 701Layout Resources</a>. Note that the android.R.styleable documentation is still 702provided in the SDK, but only as a reference of the platform's styleable 703attributes for the various elements.</li> 704<li>The VM now properly ensures that private classes are not 705available to applications through reflection. If you were using reflection 706to access private classes in a previous release, you will now get a run-time 707error. </li> 708 709<li>The Settings and Email applications are now included in the SDK and 710available in the emulator.</li> 711<li>We regret to inform developers that SDK 1.0_r2 does not support MFM, RLL, 712or Winchester hard disk drives.</li> 713<li>In the emulator, the control key for enabling/disabling trackball mode 714is changed from Control-T to F6. You can also enter trackball mode temporarily 715using the Delete key. While the key is pressed, you can send trackball events.</li> 716</ul> 717 718<p>Unless otherwise noted, Known Issues from the previous SDK release also apply 719to this release.</p> 720 721 722 723 724 725 726<h2 id="1.0_r1">Android 1.0 SDK, Release 1</h2> 727 728<p>This SDK release is the first to include the Android 1.0 platform and application API. Applications developed on this SDK will be compatible with mobile devices running the Android 1.0 platform, when such devices are available.</p> 729 730<p>This release includes mainly bug fixes, although some smaller features were added. The Android 1.0 also includes several API changes from the 0.9 version. For those porting from the M5 release, the SDK also includes the legacy changes overview and API Differences Reports. See the current Overview of Changes for more information. </p> 731 732<h3>ADT Plugin Compatibility</h3> 733 734<p>For this version of the SDK — Android 1.0 SDK, Release 1 — the compatible version of the Android Development Tools (ADT) Plugin for Eclipse is <strong>0.8.0</strong>. If you are using a previous version of ADT, you should update to the latest version for use with this SDK.</p> 735 736<h3>Installation and Upgrade Notes</h3> 737 738<p>If you've been developing an application using a previous SDK version and you want the application to run on Android-powered mobile devices, you must port the application to the Android 1.0 SDK. Be sure to wipe application user data (emulator option <code>-wipe-data</code>) when running your application on the Android 1.0 SDK emulator.</p> 739 740<h3>Other Notes</h3> 741 742<p><strong>MapView API Key</strong></p> 743 744<p>MapView is a class that lets you easily integrate Google Maps into your application. Before you can access the maps data, you will need to register with the Google Maps service and receive a Maps API Key, which you then add to your MapView for authentication to the server.</p> 745 746<p>Currently, the registration service for MapView is not yet active and Google Maps is not yet enforcing the Maps API Key requirement. However, note that the registration service will be activated soon, so that MapViews in any application deployed to a mobile device will require registration and a valid Maps API Key. </p> 747 748<p>As soon as the registration service becomes available, we will update the page at <a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">http://code.google.com/android/add-ons/google-apis/mapkey.html</a> with details about how and where to register. Please check that page periodically for registration information, if you are using a MapView.</p> 749 750 751<h3>Resolved Issues, Changes</h3> 752 753<p><strong>Emulator</strong></p> 754<ul> 755<li>Emulator now saves the user image in <android>/SDK1.0/</code></li> 756<li>Fixed EsounD-related freezes on Linux.</li> 757<li>Fixed the documentation in -help-audio. '-audio list' doesn't work, one 758 needs to call -help-audio-out and -help-audio-in to get the list of valid 759 audio backends.</li> 760<li>Fixed scrollwheel Dpad emulation in rotated mode. before that, using the 761 scroll-wheel would always generated Dpad Up/Down events, even when in 762 landscape mode.</li> 763 764<li>Several Obsolete command options were removed.</li> 765<li>Setting the network speed through the console or the -netspeed option will 766 properly modify the connectivity icon on the device.</li> 767<li>Setting the GSM voice registration state to 'roaming' in the console will 768 properly modify the voice icon on the device</li> 769</ul> 770 771<p><strong>SQLite</strong></p> 772<ul> 773<li>SQLite is now included in the SDK package on all platforms. </li> 774</ul> 775 776<p><strong>Other</strong></p> 777 778<ul> 779<li>It is not possible to send MMS messages between emulator instances. </li> 780<li>In some cases, you may encounter problems when using the browser on an 781emulator started with the command-line option <code>-http-proxy</code>. </li> 782 783<li>We regret to inform developers that Android 1.0 will not include support for 784dot-matrix printers.</li> 785<li>On the OSX platform, if you manually remove the ~/.android directory 786using <code>rm -rf ~/.android</code>, then try to run 787the emulator, it crashes. This happens because the emulator fails to create 788a new .android directory before attempting to create the child SDK1.0 directory. 789To work around this issue, manually create a new .android directory using 790<code>mkdir ~/.android</code>, then run the emulator. The emulator 791creates the SDK1.0 directory and starts normally. </li> 792<li>The final set of Intent patterns honored by Android 1.0 has not yet been 793fully documented. Documentation will be provided in future releases.</li> 794<li>In ADT Editor, you can add at most ten new resource values at a time, 795in a given res/values/*.xml, using the form in the Android Resources pane. 796If you add more than ten, the Android Resources pane will not display the 797attributes fields for the additional resource entries. To work around this 798problem, you can close the file in the editor and open it again, or you 799can edit the resource entries in the XML text mode. </li> 800<li>The emulator's battery-control commands (<code>power <option></code>) 801are not working in this release.</li> 802 803</ul> 804 805