blob: bad71a2a59da3894cc7a5a9a3a02ad2f0538ffd7 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001page.title=SDK Release Notes
2@jd:body
3
4<p>This document provides version-specific information about Android SDK releases. For the latest known issues, please ensure that you're viewing this page at: <a href="http://developer.android.com/sdk/RELEASENOTES.html">http://developer.android.com/sdk/RELEASENOTES.html</a>.</p>
5
6<h2 id="1.1_r1">Android 1.1 SDK, Release 1</h2>
7
8<p>This SDK provides the development tools and Android system image you need to create applications for Android-powered devices. Applications developed on this SDK will be compatible with mobile devices running the Android 1.1 platform. </p>
9
10<p>This release provides an updated system image (Android 1.1), updated documentation, and the same set of development tools provided in the Android 1.0 r2 SDK. The updated system image includes bug fixes and some smaller features, as well as a few minor API changes from the 1.0 version. </p>
11
12<p>For details about the Android 1.1 system image included in the SDK &mdash; including bug fixes, features, and API changes &mdash; please read the <a href="{@docRoot}sdk/android-1.1.html">Android 1.1 Version Notes</a>.</p>
13
14<h3>App Versioning for Android 1.1</h3>
15
16<p>If you are using this SDK to build an application that is compatible <em>only</em> with Android-powered devices running the Android 1.1 platform, please note that you <strong>must</strong> set the the <code>android:minSdkVersion</code> attribute in the application's manifest to the API Level of Android 1.1 &mdash; "2".</p>
17
18<p>Specifically, you specify the <code>android:minSdkVersion</code> attribute in a <code>&lt;uses-sdk&gt;</code> element as a child of <code>&lt;manifest&gt;</code> in the manifest file. When set, the attribute looks like this: </p>
19
20<pre><code>&lt;manifest&gt;
21 ...
22 &lt;uses-sdk minSdkVersion="2" /&gt;
23 ...
24&lt;/manifest&gt;</code>
25</pre>
26
27<p>By setting <code>android:minSdkVersion</code> in this way, you ensure that users will only be able to install your application if their devices are running the Android 1.1 platform. In turn, this ensures that your application will function properly on their devices, especially if it uses APIs introduced in Android 1.1. </p>
28
29<p>If your application uses APIs introduced in Android 1.1 but does not declare <code>&lt;uses-sdk minSdkVersion="2" /&gt;</code>, then it will run properly on Android 1.1 devices but <em>not</em> on Android 1.0 devices. </p>
30
31<p>If your application does not use any new APIs introduced in Android 1.1, you can indicate Android 1.0 compatibility by removing <code>minSdkVersion</code> or setting the attribute to "1". However, before publishing your application, you must make sure to compile your application against the Android 1.0 system image (available in the Android 1.0 SDK), to ensure that it builds and functions properly for Android 1.0 devices. You should test the application against system images corresponding to the API Levels that the application is designed to be compatible with.</p>
32
33<p>If you are sure your application is not using Android 1.1 APIs and has no need to use them, you might find it easier to keep working in the Android 1.0 SDK, rather than migrating to the Android 1.1 SDK and having to do additional testing.</p>
34
35
36<h3>ADT Plugin Compatibility</h3>
37
38<p>For this version of the SDK &mdash; Android 1.1 SDK, Release 1
39&mdash; the compatible version of the Android Development Tools (ADT)
40Plugin for Eclipse is <strong>0.8.0</strong>. If you are using a
41previous version of ADT, you should update to the latest version for use
42with this SDK. For information about how to update your ADT plugin, see
43<a href="{@docRoot}sdk/1.1_r1/upgrading.html#update-plugin">Upgrading
44the SDK</a>.</p>
45
46<h3>Installation and Upgrade Notes</h3>
47
48<p>If you've been developing an application using an Android 1.0 SDK no
49changes to your application are needed. You may want to wipe application
50user data (emulator option <code>-wipe-data</code>) when running your
51application on the Android 1.1 emulator for the first time.</p>
52
53<p>If you're installing the Android SDK for the first time, please see
54the instructions in <a
55href="{@docRoot}sdk/1.1_r1/installing.html">Installing the SDK</a>.
56
57<h3>Other Notes</h3>
58
59<p><strong>MapView API Key</strong></p>
60
61<p>com.google.android.maps.MapView is a class that lets you
62easily integrate Google Maps into your application. Before you can
63access the maps data, you will need to register with the Google Maps
64service and receive a Maps API Key, which you then add to your MapView
65for authentication to the server.</p>
66
67<p>Developers should note that the registration service for MapView is now
68active and Google Maps is actively enforcing the Maps API Key requirement.
69For information about how to register for a Maps API Key, see
70<a href="{@docRoot}guide/topics/location/geo/mapkey.html">
71Obtaining a Maps API Key</a>.</p>
72
73<p><strong>USB Drivers for Windows</strong></p>
74
75<p>If you using Windows and want to develop or test your application on an
76Android-powered device (such as the T-Mobile G1), you need an appropriate USB
77driver. For your convenience, the Windows version of the Android SDK includes
78these USB drivers that you can install, to let you develop on the device:</p>
79
80<ul>
81<li>USB driver for 32-bit XP and Vista</li>
82<li>USB driver for 64-bit Vista only</li>
83</ul>
84
85<p>The USB driver files are located in the
86<code>&lt;SDK&gt;/usb_driver</code> directory. For details and
87installation instructions, see <a
88href="{@docRoot}guide/developing/device.html#setting-up">Setting Up a
89Device for Development</a>.</p>
90</p>
91
92<h3>Resolved Issues, Changes</h3>
93
94<p><strong>Emulator</strong></p>
95<ul>
96<li>Emulator now saves the user image in &lt;android&gt;/SDK1.1/</code></li>
97</ul>
98
99<h3>Known Issues</h3>
100
101<p><strong>JUnit and Eclipse/ADT</strong></p>
102<ul>
103<li>If you are developing in Eclipse/ADT and want to add JUnit test
104classes, you can do so. However, you need to set up a custom JUnit configuration
105before your tests will run properly. For detailed information about how to set
106up the JUnit configuration, see the troubleshooting topic <a
107href="{@docRoot}guide/appendix/faq/troubleshooting.html#addjunit">Running a Junit test class
108in Eclipse</a>.</li>
109</ul>
110
111<p><strong>Other</strong></p>
112
113<ul>
114<li>It is not possible to send MMS messages between emulator instances. </li>
115<li>In some cases, you may encounter problems when using the browser on an
116emulator started with the command-line option <code>-http-proxy</code>. </li>
117<li>On the OSX platform, if you manually remove the ~/.android directory
118using <code>rm -rf ~/.android</code>, then try to run
119the emulator, it crashes. This happens because the emulator fails to create
120a new .android directory before attempting to create the child SDK1.0 directory.
121To work around this issue, manually create a new .android directory using
122<code>mkdir ~/.android</code>, then run the emulator. The emulator
123creates the SDK1.0 directory and starts normally. </li>
124<li>We regret to inform developers that Android 1.1 will not include support
125for ARCNet network interfaces.</li>
126<li>The final set of Intent patterns honored by Android 1.0 has not yet been
127fully documented. Documentation will be provided in future releases.</li>
128<li>In ADT Editor, you can add at most ten new resource values at a time,
129in a given res/values/*.xml, using the form in the Android Resources pane.
130If you add more than ten, the Android Resources pane will not display the
131attributes fields for the additional resource entries. To work around this
132problem, you can close the file in the editor and open it again, or you
133can edit the resource entries in the XML text mode. </li>
134<li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
135are not working in this release.</li>
136</ul>
137
138
139
140
141
142<h2 id="1.0_r2">Android 1.0 SDK, Release 2</h2>
143
144<p>This SDK release includes the Android 1.0 platform and application API.
145Applications developed on this SDK will be compatible with mobile devices
146running the Android 1.0 platform.</p>
147
148<p>This release includes mainly bug fixes, although some smaller features were
149added.</p>
150
151<h3>ADT Plugin Compatibility</h3>
152
153<p>For this release of the SDK, the compatible version of the Android
154Development Tools (ADT) Plugin for Eclipse is <strong>0.8.0</strong>. If you are
155using a previous version of ADT, you should update to the latest version for use
156with this SDK. For information about how to update your ADT plugin, see <a
157href="/android/intro/upgrading.html">Upgrading the SDK</a>.</p>
158
159<h3>Installation and Upgrade Notes</h3>
160
161<p>If you're installing the Android SDK for the first time, please see the
162instructions in <a href="/android/intro/installing.html">Installing the
163SDK</a>.
164
165<h3>Other Notes</h3>
166
167<p><strong>T-Mobile G1 Compatability</strong></p>
168
169<p>This version of the SDK has been tested for compatability with the first
170Android-powered mobile device, the <a href="http://www.t-mobileg1.com">T-Mobile
171G1</a>. </p>
172
173<p><strong>MapView API Key</strong></p>
174
175<p>MapView is a class that lets you easily integrate Google Maps into your
176application. Before you can access the maps data, you will need to register with
177the Google Maps service and receive a Maps API Key, which you then add to your
178MapView for authentication to the server.</p>
179
180<p>Developers should note that the registration service for MapView is now
181active and Google Maps is actively enforcing the Maps API Key requirement. For
182information about how to register for a Maps API Key, see <a
183href="http://code.google.com/android/toolbox/apis/mapkey.html">http://code.
184google.com/android/toolbox/apis/mapkey.html</a>.</p>
185
186<p><strong>USB Driver for Windows</strong></p>
187<p>If you using Windows and want to develop or test your application on an
188Android-powered device (such as the T-Mobile G1), you need an appropriate USB
189driver. For your convenience, the Windows version of the Android SDK includes a
190USB driver that you can install, to let you develop on the device. The USB
191driver files are located in the <code>&lt;SDK&gt;/usb_driver</code> directory.
192
193</p>
194
195<h3>Resolved Issues, Changes</h3>
196<ul>
197<li>The android.jar in this SDK release now includes several classes that were
198missing from the previous SDK. </li>
199<li>The android.R.styleable class and its fields were removed from the public
200API, to better ensure forward-compatibility for applications. The constants
201declared in android.R.styleable were platform-specific and subject to arbitrary
202change across versions, so were not suitable for use by applications. You can
203still access the platform's styleable attributes from your resources or code. To
204do so, declare a custom resource element using a
205<code>&lt;declare-styleable&gt;</code> in your project's res/values/R.attrs
206file, then declare the attribute inside. For examples, see
207&lt;sdk&gt;/samples/ApiDemos/res/values/attrs.xml. For more information about
208custom resources, see <a
209href="/android/reference/available-resources.html#customresources">Custom
210Layout Resources</a>. Note that the android.R.styleable documentation is still
211provided in the SDK, but only as a reference of the platform's styleable
212attributes for the various elements.</li>
213<li>The VM now properly ensures that private classes are not
214available to applications through reflection. If you were using reflection
215to access private classes in a previous release, you will now get a run-time
216error. </li>
217
218<li>The Settings and Email applications are now included in the SDK and
219available in the emulator.</li>
220<li>We regret to inform developers that SDK 1.0_r2 does not support MFM, RLL,
221or Winchester hard disk drives.</li>
222<li>In the emulator, the control key for enabling/disabling trackball mode
223is changed from Control-T to F6. You can also enter trackball mode temporarily
224using the Delete key. While the key is pressed, you can send trackball events.</li>
225</ul>
226
227<p>Unless otherwise noted, Known Issues from the previous SDK release also apply
228to this release.</p>
229
230
231
232
233
234
235<h2 id="1.0_r1">Android 1.0 SDK, Release 1</h2>
236
237<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>
238
239<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 more information on API changes, see the <a href="/android/migrating/0.9-1.0/changes-overview.html">Overview of Changes</a> and the <a href="/android/migrating/0.9-1.0/changes.html">API Differences Report</a>. 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>
240
241<h3>ADT Plugin Compatibility</h3>
242
243<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="/android/intro/upgrading.html">Upgrading the SDK</a>.</p>
244
245<h3>Installation and Upgrade Notes</h3>
246
247<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="/android/intro/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>
248
249<p>If you're installing the Android SDK for the first time, please see the instructions in <a href="/android/intro/installing.html">Installing the SDK</a>.
250
251<h3>Other Notes</h3>
252
253<p><strong>MapView API Key</strong></p>
254
255<p><a href="/android/reference/com/google/android/maps/MapView.html">MapView</a> 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>
256
257<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>
258
259<p>As soon as the registration service becomes available, we will update the page at <a href="http://code.google.com/android/toolbox/apis/mapkey.html">http://code.google.com/android/toolbox/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>
260
261
262<h3>Resolved Issues, Changes</h3>
263
264<p><strong>Emulator</strong></p>
265<ul>
266<li>Emulator now saves the user image in &lt;android&gt;/SDK1.0/</code></li>
267<li>Fixed EsounD-related freezes on Linux.</li>
268<li>Fixed the documentation in -help-audio. '-audio list' doesn't work, one
269 needs to call -help-audio-out and -help-audio-in to get the list of valid
270 audio backends.</li>
271<li>Fixed scrollwheel Dpad emulation in rotated mode. before that, using the
272 scroll-wheel would always generated Dpad Up/Down events, even when in
273 landscape mode.</li>
274
275<li>Several Obsolete command options were removed.</li>
276<li>Setting the network speed through the console or the -netspeed option will
277 properly modify the connectivity icon on the device.</li>
278<li>Setting the GSM voice registration state to 'roaming' in the console will
279 properly modify the voice icon on the device</li>
280</ul>
281
282<p><strong>SQLite</strong></p>
283<ul>
284<li>SQLite is now included in the SDK package on all platforms. </li>
285</ul>
286
287<h3>Known Issues</h3>
288
289<p><strong>JUnit and Eclipse/ADT</strong></p>
290<ul>
291<li>If you are developing in Eclipse/ADT and want to add JUnit test
292classes, you can do so. However, you need to set up a custom JUnit configuration
293before your tests will run properly. For detailed information about how to set
294up the JUnit configuration, see the troubleshooting topic <a
295href="/android/kb/troubleshooting.html#addjunit">Running a Junit test class
296in Eclipse</a>.</li>
297</ul>
298
299<p><strong>Other</strong></p>
300
301<ul>
302<li>It is not possible to send MMS messages between emulator instances. </li>
303<li>In some cases, you may encounter problems when using the browser on an
304emulator started with the command-line option <code>-http-proxy</code>. </li>
305
306<li>We regret to inform developers that Android 1.0 will not include support for
307dot-matrix printers.</li>
308<li>On the OSX platform, if you manually remove the ~/.android directory
309using <code>rm -rf ~/.android</code>, then try to run
310the emulator, it crashes. This happens because the emulator fails to create
311a new .android directory before attempting to create the child SDK1.0 directory.
312To work around this issue, manually create a new .android directory using
313<code>mkdir ~/.android</code>, then run the emulator. The emulator
314creates the SDK1.0 directory and starts normally. </li>
315<li>The final set of Intent patterns honored by Android 1.0 has not yet been
316fully documented. Documentation will be provided in future releases.</li>
317<li>In ADT Editor, you can add at most ten new resource values at a time,
318in a given res/values/*.xml, using the form in the Android Resources pane.
319If you add more than ten, the Android Resources pane will not display the
320attributes fields for the additional resource entries. To work around this
321problem, you can close the file in the editor and open it again, or you
322can edit the resource entries in the XML text mode. </li>
323<li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
324are not working in this release.</li>
325
326</ul>
327