blob: cbfac2b67e7e9f95a0962bc07118904929f7b27b [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001page.title=SDK Release Notes
2@jd:body
3
Dirk Doughertyfe1f7892009-04-21 18:52:41 -07004<p>This document provides version-specific information about Android SDK
Dirk Doughertybf15ce62009-10-23 19:17:12 -07005releases. <!--For the latest known issues, please ensure that you're viewing this
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07006page at <a
7href="http://developer.android.com/sdk/RELEASENOTES.html">http://developer.
Dirk Doughertybf15ce62009-10-23 19:17:12 -07008android.com/sdk/RELEASENOTES.html</a>.--></p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07009
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 &mdash; 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
Dirk Doughertybf15ce62009-10-23 19:17:12 -070030necessarily 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,
32for example, you could just download the Android 2.0 platform into your existing
33SDK. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070034
Dirk Doughertybf15ce62009-10-23 19:17:12 -070035<p>Release notes for Android platforms and other SDK components are
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070036now available from the "SDK" tab, under "Downloadable SDK Components."</p>
37
38<ul>
Dirk Doughertybf15ce62009-10-23 19:17:12 -070039<li>Notes for the Android 2.0 platform are in the <a
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070040href="{@docRoot}sdk/android-2.0.html">Android 2.0, Release 1</a> document. </li>
41<li>You can find information about tools changes in the <a
42href="{@docRoot}sdk/tools-notes.html">SDK Tools Notes</a> and <a
43href="{@docRoot}sdk/adt-notes.html">ADT Plugin Notes</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
Dirk Doughertybf15ce62009-10-23 19:17:12 -070048href="{@docRoot}sdk/installing.html">Installing the SDK</a> for detailed
49installation instructions. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070050
Dirk Dougherty3f9de8b2009-05-22 16:04:18 -070051
Dirk Doughertya6602f12009-08-27 16:26:43 -070052<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/tools/avd.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>
Dirk Dougherty3dc0f942009-09-15 17:00:40 -070071 <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>
Dirk Doughertya6602f12009-08-27 16:26:43 -070076 </ul>
77
78<p>For details about the Android platforms included in the SDK &mdash; including
Scott Main8ef5a6b2009-11-06 18:38:33 -080079bug fixes, features, and API changes &mdash; please read the <a
80href="android-1.6.html">Android 1.6 version notes</a>.</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -070081
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
Dirk Doughertya6602f12009-08-27 16:26:43 -070096<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
Scott Main8ef5a6b2009-11-06 18:38:33 -0800111download the plugin, please see <a
112href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>. </p>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700113
114<h3>Android SDK and AVD Manager</h3>
115
Dirk Dougherty3dc0f942009-09-15 17:00:40 -0700116<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>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700118
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&lt;sdk&gt;/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 &lt;infile&gt;
174&lt;outfile&gt;</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
Scott Main8ef5a6b2009-11-06 18:38:33 -0800204<p>For driver installation or
Dirk Doughertya6602f12009-08-27 16:26:43 -0700205upgrade instructions, see <a
Scott Main8ef5a6b2009-11-06 18:38:33 -0800206href="{@docRoot}sdk/win-usb.html">USB Driver for Windows</a>.</p>
Dirk Doughertya6602f12009-08-27 16:26:43 -0700207</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 &mdash; 240 x 320, low density (120 dpi)</li>
216 <li>HVGA &mdash; 320 x 480, medium density (160 dpi)</li>
217 <li>WVGA800 &mdash; 480 x 800, high density (240 dpi)</li>
218 <li>WVGA854 &mdash; 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
Dirk Dougherty3dc0f942009-09-15 17:00:40 -0700224command line to create a new AVD that uses a custom hardware configuration. See
Dirk Doughertya6602f12009-08-27 16:26:43 -0700225<a href="{@docRoot}guide/developing/tools/avd.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
Dirk Dougherty4b508752009-07-16 08:51:33 -0700240<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 &mdash; 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
Dirk Dougherty3f9de8b2009-05-22 16:04:18 -0700310<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>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700317
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-compitility and,
332if applicable, backward-compatibility.</li>
333 <li>Introduces <a href="{@docRoot}guide/developing/tools/avd.html">Android
334Virtual Devices</a> &mdash; (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>
Dirk Dougherty1f8059f2009-05-07 11:15:03 -0700341 <li>The new Eclipse ADT plugin (version 0.9.x) offers new Wizards to let you
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700342create projects targetted 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 &mdash; including
Scott Main8ef5a6b2009-11-06 18:38:33 -0800354bug fixes, features, and API changes &mdash; please read the <a
355href="{@docRoot}sdk/android-1.5.html">Android 1.5 version notes</a>.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700356
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
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700371<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 &mdash; 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 &mdash; 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/tools/avd.html">Android 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
Scott Main8ef5a6b2009-11-06 18:38:33 -0800445<p>For driver installation or
446upgrade instructions, see <a
447href="{@docRoot}sdk/win-usb.html">USB Driver for Windows</a>.</p>
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700448</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
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800479
480<h2 id="1.1_r1">Android 1.1 SDK, Release 1</h2>
481
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700482<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800486
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700487<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800491
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700492<p>For details about the Android 1.1 system image included in the SDK &mdash;
493including bug fixes, features, and API changes &mdash; please read the <a
Scott Main8ef5a6b2009-11-06 18:38:33 -0800494href="{@docRoot}sdk/android-1.1.html">Android 1.1 version notes</a>.</p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800495
496<h3>App Versioning for Android 1.1</h3>
497
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700498<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 &mdash; "2".</p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800503
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700504<p>Specifically, you specify the <code>android:minSdkVersion</code> attribute in
505a <code>&lt;uses-sdk&gt;</code> element as a child of
506<code>&lt;manifest&gt;</code> in the manifest file. When set, the attribute
507looks like this: </p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800508
509<pre><code>&lt;manifest&gt;
510 ...
Dirk Dougherty1432cd82009-05-01 10:02:17 -0700511 &lt;uses-sdk android:minSdkVersion="2" /&gt;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800512 ...
513&lt;/manifest&gt;</code>
514</pre>
515
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700516<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800521
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700522<p>If your application uses APIs introduced in Android 1.1 but does not declare
Dirk Dougherty1432cd82009-05-01 10:02:17 -0700523<code>&lt;uses-sdk android:minSdkVersion="2" /&gt;</code>, then it will run properly on
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700524Android 1.1 devices but <em>not</em> on Android 1.0 devices. </p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800525
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700526<p>If your application does not use any new APIs introduced in Android 1.1, you
Dirk Dougherty1432cd82009-05-01 10:02:17 -0700527can indicate Android 1.0 compatibility by removing <code>android:minSdkVersion</code> or
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700528setting 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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800534
Dirk Doughertyfe1f7892009-04-21 18:52:41 -0700535<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800539
540
541<h3>ADT Plugin Compatibility</h3>
542
543<p>For this version of the SDK &mdash; Android 1.1 SDK, Release 1
544&mdash; 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
Scott Main8ef5a6b2009-11-06 18:38:33 -0800548<a href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>.</p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800549
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
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800557<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
Dirk Dougherty1432cd82009-05-01 10:02:17 -0700570<a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800571Obtaining 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>&lt;SDK&gt;/usb_driver</code> directory. For details and
587installation instructions, see <a
588href="{@docRoot}guide/developing/device.html#setting-up">Setting Up a
589Device for Development</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 &lt;android&gt;/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}guide/appendix/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 &lt;option&gt</code>)
635are not working in this release.</li>
636</ul>
637
638
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800639<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
Scott Main8ef5a6b2009-11-06 18:38:33 -0800654href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>.</p>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800655
656<h3>Other Notes</h3>
657
658<p><strong>T-Mobile G1 Compatability</strong></p>
659
660<p>This version of the SDK has been tested for compatability with the first
661Android-powered mobile device, the <a href="http://www.t-mobileg1.com">T-Mobile
662G1</a>. </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
Scott Main8a4c53a2009-04-24 13:41:44 -0700674href="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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800676
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>&lt;SDK&gt;/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>&lt;declare-styleable&gt;</code> in your project's res/values/R.attrs
697file, then declare the attribute inside. For examples, see
698&lt;sdk&gt;/samples/ApiDemos/res/values/attrs.xml. For more information about
699custom resources, see <a
Scott Main8a4c53a2009-04-24 13:41:44 -0700700href="{@docRoot}guide/topics/resources/available-resources.html#customresources">Custom
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800701Layout 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
Scott Main8a4c53a2009-04-24 13:41:44 -0700730<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800731
732<h3>ADT Plugin Compatibility</h3>
733
Scott Main8a4c53a2009-04-24 13:41:44 -0700734<p>For this version of the SDK &mdash; Android 1.0 SDK, Release 1 &mdash; 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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800735
736<h3>Installation and Upgrade Notes</h3>
737
Scott Main8a4c53a2009-04-24 13:41:44 -0700738<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800739
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800740<h3>Other Notes</h3>
741
742<p><strong>MapView API Key</strong></p>
743
Scott Main8a4c53a2009-04-24 13:41:44 -0700744<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800745
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
Scott Main8a4c53a2009-04-24 13:41:44 -0700748<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>
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800749
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 &lt;android&gt;/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
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800776<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 &lt;option&gt</code>)
801are not working in this release.</li>
802
803</ul>
804