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