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