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