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