delete orphaned and obsolete files

Change-Id: I2e199ce5ff5c4e4c9622897eed0072c3aba02bc4
This commit is contained in:
Scott Main
2013-05-20 17:26:25 -07:00
parent 0d3f6eda6c
commit 7bfd39a47d
27 changed files with 2 additions and 4848 deletions

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/distribute/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should have been redirected. Please <a
href="http://developer.android.com/distribute/index.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,11 +0,0 @@
<html>
<head>
<meta http-equiv="refresh"
content="0;url=http://developer.android.com/guide/topics/ui/accessibility/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/guide/topics/ui/accessibility/index.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,9 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=icon_design.html">
<title>Redirecting...</title>
</head>
<body>
<a href="icon_design.html">click here</a> if you are not redirected.
</body>
</html>

View File

@@ -1,8 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=../index.html">
</head>
<body>
<a href="../index.html">click here</a> if you are not redirected.
</body>
</html>

View File

@@ -1,155 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.0_r1
excludeFromSuggestions=true
@jd:body
<p>For the current SDK release, see the links under <strong>Current SDK Release</strong> in the side navigation.</p>
<p>This guide will help you migrate your development environment and applications
to <strong>version 1.0, release 1</strong>, of the Android SDK. Use this guide if you've been developing applications
on a different version of the Android SDK.</p>
<p>To ensure that your applications are compliant with the Android 1.0 system available
on mobile devices, you need to install the new SDK and port your existing Android
applications to the updated API. The sections below guide you through the process.</p>
<h2 id="install-new">Install the new SDK</h2>
<p>After unpacking the SDK, you should:</p>
<ul>
<li>Wipe your emulator data. <p>Some data formats have changed since the last
SDK release, so any previously saved data in your emulator must be removed. Open a console/terminal
and navigate to the <code>/tools</code> directory of your SDK. Launch the
emulator with the <code>-wipe-data</code> option. </p>
<p>Windows: <code>emulator -wipe-data</code><br/>
Mac/Linux: <code>./emulator -wipe-data</code></p>
</li>
<li>Update your PATH variable (Mac/Linux; optional). <p>If you had previously setup your
PATH variable to point to the SDK tools directory, then you'll need to update it to
point to the new SDK. E.g., for a <code>.bashrc</code> or <code>.bash_profile</code> file:
<code>export PATH=$PATH:<em>&lt;your_new_sdk_dir></em>/tools</code></p>
</li>
</ul>
<h2 id="update-plugin">Update your ADT Eclipse Plugin</h2>
<p>If you develop on Eclipse and are using the ADT plugin, follow these steps to install the
plugin that's required for this version of the SDK.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="45%">
<ol>
<li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip
file</a> (do not unpack it).</li>
<li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; <strong>Find
and Install...</strong>. </li>
<li>In the dialog that appears, select <strong>Search for new features to install</strong> and click
<strong>Next</strong>. </li>
<li>Click <strong>New Archive Site...</strong></li>
<li>Browse and select the downloaded the zip file.</li>
<li>You should now see the new site added to the search list (and checked).
Click <strong>Finish</strong>. </li>
<li>In the subsequent Search Results dialog box, select the checkbox for
<strong>Android Plugin</strong> &gt; <strong>Developer Tools</strong>.
This will check both features: "Android Developer Tools", and "Android
Editors". The Android Editors feature is optional, but recommended. If
you choose to install it, you need the WST plugin mentioned earlier in this
page. Click <strong>Next</strong>. </li>
<li>Read the license agreement and then select <strong>Accept terms of the license agreement</strong>.
Click <strong>Next</strong>. </li>
<li>Click <strong>Finish</strong>. </li>
<li>The ADT plugin is not signed; you can accept the installation anyway
by clicking <strong>Install All</strong>. </li>
<li>Restart Eclipse. </li>
</ol>
</td>
<td>
<ol>
<li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip
file</a> (do not unpack it).</li>
<li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.</li>
<li>In the dialog that appears, click the <strong>Available Software</strong> tab.</li>
<li>Click <strong>Add Site...</strong>, then <strong>Archive...</strong>.</li>
<li>Browse and select the downloaded the zip file.</li>
<li>Back in the Available Software view, you should see the plugin. Select the checkbox next to
<em>Developer Tools</em> and click <strong>Install...</strong></li>
<li>On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked.
The Android Editors feature is optional, but recommended. If
you choose to install it, you need the WST plugin mentioned earlier in this
page. Click <strong>Next</strong>.</li>
<li>Accept the license agreement and click <strong>Finish</strong>.</li>
<li>Restart Eclipse. </li>
</ol>
</td>
</tr>
</table>
<p>After restart, update your Eclipse preferences to point to the SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences...</strong> to open the Preferences panel. (Mac OSX: <strong>Eclipse</strong> > <strong>Preferences</strong>)</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the SDK Location in the main panel, click <strong>Browse...</strong> and locate the SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="sign">Set Up Application Signing</h2>
<p>All applications must now be signed before you can install them on the emulator. Both
the ADT plugin and the Ant-based build tools support this requirement by signing compiled
.apk files with a debug key. To do so, the build tools use the Keytool utility included
in the JDK to to create a keystore and a key with a known alias and password. For more
information, see "Signing and Publishing Your App" in the documentation included with the SDK.
<p>To support signing, you should first make sure that Keytool is available to the SDK build
tools. In most cases, you can tell the SDK build tools how to find Keytool by making sure that
your JAVA_HOME environment variable is set and that it references a suitable JDK. Alternatively,
you can add the JDK version of Keytool to your PATH variable.</p>
<p>If you are developing on a version of Linux that originally came with Gnu Compiler for Java,
make sure that the system is using the JDK version of Keytool, rather than the gcj version.
If keytool is already in your PATH, it might be pointing to a symlink at /usr/bin/keytool.
In this case, check the symlink target to make sure that it points to the keytool in the JDK.</p>
<p>If you use Ant to build your .apk files (rather than ADT for Eclipse), you must regenerate
your build.xml file. To do that, follow these steps:</p>
<ol>
<li>In your Android application project directory, locate and delete the current build.xml file.</li>
<li>Run activitycreator, directing output to the folder containing your application project.
<pre>- exec activitycreator --out &lt;project folder&gt; your.activity.YourActivity</pre>
</li>
</ol>
<p>Run in this way, activitycreator will not erase or create new Java files (or manifest files),
provided the activity and package already exists. It is important that the package and the activity
are real. The tool creates a new build.xml file, as well as a new directory called "libs" in which
to place 3rd jar files, which are now automatically handled by the Ant script.</p>
<h2 id="migrate">Migrate your applications</h2>
<p>If (and only if) you have written apps in an SDK released previous to
the Android 1.0 SDK, you will need to migrate your applications. After
updating your SDK, you may encounter breakages in your code, due to
framework and API changes. You'll need to update your code to match
changes in the Android APIs.</p>
<p>One way to start is to open your project in Eclipse and see where the ADT
identifies errors in your application. You can also look up
specific changes in the Android APIs in the <em>Overview of Changes</em> and <em>
API Diffs Report</em>, both available in the documentation included with the
Android 1.0 SDK package.</p>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>
<p>If you have modified one of the ApiDemos applications and would like to migrate it
to the new SDK, note that you will need to uninstall the version of ApiDemos that comes
preinstalled in the emulator.</p>

View File

@@ -1,155 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.0_r2
excludeFromSuggestions=true
@jd:body
<p>For the current SDK release, see the links under <strong>Current SDK Release</strong> in the side navigation.</p>
<p>This guide will help you migrate your development environment and applications
to <strong>version 1.0, release 2</strong>, of the Android SDK. Use this guide if you've been developing applications
on a different version of the Android SDK.</p>
<p>To ensure that your applications are compliant with the Android 1.0 system available
on mobile devices, you need to install the new SDK and port your existing Android
applications to the updated API. The sections below guide you through the process.</p>
<h2 id="install-new">Install the new SDK</h2>
<p>After unpacking the SDK, you should:</p>
<ul>
<li>Wipe your emulator data. <p>Some data formats have changed since the last
SDK release, so any previously saved data in your emulator must be removed. Open a console/terminal
and navigate to the <code>/tools</code> directory of your SDK. Launch the
emulator with the <code>-wipe-data</code> option. </p>
<p>Windows: <code>emulator -wipe-data</code><br/>
Mac/Linux: <code>./emulator -wipe-data</code></p>
</li>
<li>Update your PATH variable (Mac/Linux; optional). <p>If you had previously setup your
PATH variable to point to the SDK tools directory, then you'll need to update it to
point to the new SDK. E.g., for a <code>.bashrc</code> or <code>.bash_profile</code> file:
<code>export PATH=$PATH:<em>&lt;your_new_sdk_dir></em>/tools</code></p>
</li>
</ul>
<h2 id="update-plugin">Update your ADT Eclipse Plugin</h2>
<p>If you develop on Eclipse and are using the ADT plugin, follow these steps to install the
plugin that's required for this version of the SDK.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="45%">
<ol>
<li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip
file</a> (do not unpack it).</li>
<li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; <strong>Find
and Install...</strong>. </li>
<li>In the dialog that appears, select <strong>Search for new features to install</strong> and click
<strong>Next</strong>. </li>
<li>Click <strong>New Archive Site...</strong></li>
<li>Browse and select the downloaded the zip file.</li>
<li>You should now see the new site added to the search list (and checked).
Click <strong>Finish</strong>. </li>
<li>In the subsequent Search Results dialog box, select the checkbox for
<strong>Android Plugin</strong> &gt; <strong>Developer Tools</strong>.
This will check both features: "Android Developer Tools", and "Android
Editors". The Android Editors feature is optional, but recommended. If
you choose to install it, you need the WST plugin mentioned earlier in this
page. Click <strong>Next</strong>. </li>
<li>Read the license agreement and then select <strong>Accept terms of the license agreement</strong>.
Click <strong>Next</strong>. </li>
<li>Click <strong>Finish</strong>. </li>
<li>The ADT plugin is not signed; you can accept the installation anyway
by clicking <strong>Install All</strong>. </li>
<li>Restart Eclipse. </li>
</ol>
</td>
<td>
<ol>
<li><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">Download the ADT v0.8.0 zip
file</a> (do not unpack it).</li>
<li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.</li>
<li>In the dialog that appears, click the <strong>Available Software</strong> tab.</li>
<li>Click <strong>Add Site...</strong>, then <strong>Archive...</strong>.</li>
<li>Browse and select the downloaded the zip file.</li>
<li>Back in the Available Software view, you should see the plugin. Select the checkbox next to
<em>Developer Tools</em> and click <strong>Install...</strong></li>
<li>On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked.
The Android Editors feature is optional, but recommended. If
you choose to install it, you need the WST plugin mentioned earlier in this
page. Click <strong>Next</strong>.</li>
<li>Accept the license agreement and click <strong>Finish</strong>.</li>
<li>Restart Eclipse. </li>
</ol>
</td>
</tr>
</table>
<p>After restart, update your Eclipse preferences to point to the SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences...</strong> to open the Preferences panel. (Mac OSX: <strong>Eclipse</strong> > <strong>Preferences</strong>)</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the SDK Location in the main panel, click <strong>Browse...</strong> and locate the SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="sign">Set Up Application Signing</h2>
<p>All applications must now be signed before you can install them on the emulator. Both
the ADT plugin and the Ant-based build tools support this requirement by signing compiled
.apk files with a debug key. To do so, the build tools use the Keytool utility included
in the JDK to to create a keystore and a key with a known alias and password. For more
information, see "Signing and Publishing Your App" in the documentation included with the SDK.
<p>To support signing, you should first make sure that Keytool is available to the SDK build
tools. In most cases, you can tell the SDK build tools how to find Keytool by making sure that
your JAVA_HOME environment variable is set and that it references a suitable JDK. Alternatively,
you can add the JDK version of Keytool to your PATH variable.</p>
<p>If you are developing on a version of Linux that originally came with Gnu Compiler for Java,
make sure that the system is using the JDK version of Keytool, rather than the gcj version.
If keytool is already in your PATH, it might be pointing to a symlink at /usr/bin/keytool.
In this case, check the symlink target to make sure that it points to the keytool in the JDK.</p>
<p>If you use Ant to build your .apk files (rather than ADT for Eclipse), you must regenerate
your build.xml file. To do that, follow these steps:</p>
<ol>
<li>In your Android application project directory, locate and delete the current build.xml file.</li>
<li>Run activitycreator, directing output to the folder containing your application project.
<pre>- exec activitycreator --out &lt;project folder&gt; your.activity.YourActivity</pre>
</li>
</ol>
<p>Run in this way, activitycreator will not erase or create new Java files (or manifest files),
provided the activity and package already exists. It is important that the package and the activity
are real. The tool creates a new build.xml file, as well as a new directory called "libs" in which
to place 3rd jar files, which are now automatically handled by the Ant script.</p>
<h2 id="migrate">Migrate your applications</h2>
<p>If (and only if) you have written apps in an SDK released previous to
the Android 1.0 SDK, you will need to migrate your applications. After
updating your SDK, you may encounter breakages in your code, due to
framework and API changes. You'll need to update your code to match
changes in the Android APIs.</p>
<p>One way to start is to open your project in Eclipse and see where the ADT
identifies errors in your application. You can also look up
specific changes in the Android APIs in the <em>Overview of Changes</em> and <em>
API Diffs Report</em>, both available in the documentation included with the
Android 1.0 SDK package.</p>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>
<p>If you have modified one of the ApiDemos applications and would like to migrate it
to the new SDK, note that you will need to uninstall the version of ApiDemos that comes
preinstalled in the emulator.</p>

View File

@@ -1,151 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.1_r1
excludeFromSuggestions=true
@jd:body
<!--
<div class="sidebox-wrapper">
<div class="sidebox">
<h2>Useful Links</h2>
<ul class="noindent">
<li><a href="migrating/0.9-1.0/changes-overview.html">Overview of Changes</a>
<p>A high-level look at what's changed in Android, with
discussion of how the changes may affect your apps.</p></li>
<li><a href="migrating/0.9-1.0/changes.html">API Diff Report</a>
<p>A detailed report that lists all the specific changes in the latest SDK.</p></li>
<li><a href="RELEASENOTES.html">Release Notes</a>
<p>Version details, known issues, and resolved issues. </p></li>
<li><a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
<p>A forum where you can discuss migration issues and learn from other Android developers. </p></li>
<li><a href="http://code.google.com/p/android/issues/list">Android Issue Tracker</a>
<p>If you think you may have found a bug, use the issue tracker to report it.</p></li>
</ul>
</div>
</div>
-->
<p>This document describes how to move your development environment and existing
Android applications from an Android 1.0 SDK to the Android 1.1, Release 1 SDK.
If you are migrating applications from an earlier SDK, please read the upgrading
document available in the Android 1.0 SDK package.
</p>
<p>To ensure that your applications are compliant with the Android 1.1 system available
on mobile devices, you need to install the Android 1.1 SDK and port your existing Android
applications to it. The sections below will guide you through the process.</p>
<h2 id="install-new">Installing the Latest SDK</h2>
<p><a href="{@docRoot}sdk/1.1_r1/index.html">Download the SDK</a> and unpack it into a safe location.</p>
<p>After unpacking the new SDK and saving it an appropriate location, you should:</p>
<ul>
<li>Wipe your emulator data. <p>Some data formats have changed since the last
SDK release, so any previously saved data in your emulator must be removed. Open a console/terminal
and navigate to the <code>/tools</code> directory of your new SDK. Launch the
emulator with the <code>-wipe-data</code> option.
<p>Windows: <code>emulator -wipe-data</code><br/>
Mac/Linux: <code>./emulator -wipe-data</code></p>
</li>
<li>Update your PATH variable (Mac/Linux; optional). <p>If you had previously setup your
PATH variable to point to the SDK tools directory, then you'll need to update it to
point to the new SDK. For example, for a <code>.bashrc</code> or <code>.bash_profile</code> file:
<code>export PATH=$PATH:<em>&lt;your_new_sdk_dir></em>/tools</code></p>
</li>
<li>If (and only if) you are developing using Ant, you will also need to modify
your build.xml properties to point to the new SDK.
<p>Open the <code>default.properties</code> file associated with your build.xml
file (typically located in the same directory). In the default.properties
file, update the <code>sdk-folder</code> property with the full path to
the new SDK directory.</p></li>
</ul>
<a name="Updating_the_ADT_plugin" id="Updating_the_ADT_plugin"></a>
<h2 id="update-plugin">Update your ADT Eclipse Plugin</h2>
<p>If you develop on Eclipse and are migrating from an Android 1.0
SDK, no update of the ADT plugin is needed &mdash; skip to <a href="#updateEclipsePrefs">Update your Eclipse SDK Preferences</a>. </p>
<p>If you are migrating from an earlier version of the SDK, you will
need to update the ADT plugin. <p>You may also want to upgrade your
ADT plugin when a new version becomes available for your existing version
of the SDK.</p>
<p>The steps below describe how to update the ADT plugin to the latest
version available. </p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<ol>
<li> Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; <strong>Find and Install...</strong>. </li>
<li> Select <strong>Search for updates of the currently installed features</strong> and click <strong>Finish</strong>. </li>
<li> If any update for ADT is available, select and install. </li>
<li> Restart Eclipse.</li>
</ol>
<p> Alternatively, </p>
<ol>
<li> Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; <strong>Manage Configuration</strong>. </li>
<li> Navigate down the tree and select <strong>Android Development Tools &lt;version&gt;</strong> </li>
<li> Select <strong>Scan for Updates</strong> under <strong>Available Tasks</strong>.</li>
</ol>
</td>
<td>
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates...</strong></li>
<li>Select the <strong>Installed Software</strong> tab.</li>
<li>Click <strong>Update...</strong></li>
<li>If an update for ADT is available, select it and click <strong>Finish</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
</tr>
</table>
<h2 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h2>
<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences...</strong> to open the Preferences panel. (Mac OSX: <strong>Eclipse</strong> > <strong>Preferences</strong>)</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the SDK Location in the main panel, click <strong>Browse...</strong> and locate the SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="migrate">Migrate Your Applications, if Necessary</h2>
<p>If (and only if) you have written apps in an SDK released previous to
the Android 1.0 SDK, you will need to migrate your applications. After
installing the new SDK and updating the ADT Plugin (if applicable), you
may encounter breakages in your application code, due to
framework and API changes. You'll need to update your code to match the
latest APIs.</p>
<p>One way to start is to open your project in Eclipse and see where the ADT
identifies errors in your application. You can also look up
specific changes in the Android APIs in the
<a href="{@docRoot}sdk/android-1.1.html#api-changes">Android 1.1 Version
Notes</a> document.</p>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>
<p>If you have modified one of the ApiDemos applications and would like to migrate it
to the new SDK, note that you will need to uninstall the version of ApiDemos that comes
preinstalled in the emulator. For more information, or if you encounter an "reinstallation"
error when running or installing ApiDemos, see the troubleshooting topic
<a href="{@docRoot}resources/faq/troubleshooting.html#apidemosreinstall">I can't install ApiDemos
apps in my IDE because of a signing error</a> for information about how to solve the problem.</p>

View File

@@ -1,396 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.5_r1
excludeFromSuggestions=true
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>Upgrading quickview</h2>
<ul>
<li>The Android 1.5 SDK uses a new project structure and a new ADT plugin (ADT 0.9). </li>
<li>To move existing projects into the SDK, you must make some minor changes in your
development environment.</li>
<li>The new ADT plugin (ADT 0.9) <em>is not compatible</em> with projects created in previous SDKs.</li>
<li>You need to uninstall your existing ADT plugin, before installing ADT 0.9.</li>
</ul>
<h2>In this document</h2>
<ol>
<li><a href="#Install">Install the SDK</a></li>
<li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
<li><a href="#UpdateYourProjects">Update Your Projects</a>
<ol>
<li><a href="#EclipseUsers">Eclipse Users</a></li>
<li><a href="#AntUsers">Ant Users</a></li>
</ol>
</li>
<li><a href="#MigrateYourApplications">Migrate Your Applications</a>
<ol><li><a href="#FutureProofYourApps">Future-proof your apps</a></li></ol>
</li>
</ol>
<h2>Migrating references</h2>
<ol>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps &raquo;</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ol>
</div>
</div>
<p>This document describes how to move your development environment and existing
Android applications from an Android 1.0 or 1.1 SDK to the Android 1.5 SDK.
If you are migrating applications from an SDK older than 1.0, please also read the upgrading
document available in the Android 1.0 SDK package.</p>
<p>There are several compelling reasons to upgrade, such as new SDK tools
that make developing more efficient and new APIs that allow you to expand the feature-set
of your applications. However, even if you or your applications don't require these enhancements,
it's important that you upgrade to ensure that your applications run properly on the
Android 1.5 platform.</p>
<p>The Android 1.5 platform will soon be deployable to devices around the world.
If you have already released Android applications to the public, you should
test the forward-compatibility of your applications on the latest version of the platform
as soon as possible. It's unlikely that you'll encounter breakage in your applications, but
in the interest of maintaining the best user experience, you should take no risks.
So, please install the new Android SDK and test your applications on Android 1.5.</p>
<p>For more information on new SDK features and system changes,
see the <a href="{@docRoot}sdk/android-1.5.html">Android 1.5 Version Notes</a>.</p>
<h2 id="Install">Install the SDK</h2>
<p>If you haven't yet downloaded the SDK, <a href="{@docRoot}sdk/1.5_r1/index.html">download from here</a>
and unpack it into a safe location.</p>
<p><strong>Before you begin:</strong>
If you had previously setup your PATH variable to point to the SDK tools directory,
then you need to update it to point to the new SDK. For example, for a
<code>.bashrc</code> or <code>.bash_profile</code> file:</p>
<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
<p>If you don't use Eclipse for development,
skip to <a href="#updateYourProjects">Update Your Projects</a>.</p>
<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
<p><em>If you installed ADT-0.9_pre with the early look 1.5 SDK, there have been
additional changes, so please continue with this guide and update to the final ADT 0.9.</em></p>
<p>A new ADT plugin (version 0.9) is required for the Android 1.5 SDK.
Because the component structure has been changed since Android 1.1,
the Android 1.5 SDK does not work with ADT 0.8 (or older) and previously installed SDKs will not
work with ADT 0.9. However, the Android 1.5 SDK includes an Android 1.1 SDK image that you
can build against while using ADT 0.9. </p>
<p class="note">For information about using different system images (such as Android 1.1)
while running this SDK, see Developing <a href="{@docRoot}guide/developing/eclipse-adt.html">
In Eclipse, with ADT</a> or <a href="{@docRoot}guide/developing/other-ide.html">In
Other IDEs</a>, as appropriate for your development environment.</p>
<p>In order to upgrade your Eclipse IDE to use the new 0.9 ADT, follow the steps below
for your respective version of Eclipse.</p>
<h3 id="uninstallAdt">Uninstall your previous ADT plugin</h3>
<p>You must uninstall your existing ADT plugin (0.8 or older). If you do not uninstall it,
you will get a conflict with the Android Editors when installing the new ADT.
(If you have already installed ADT-0.9_pre with the early look 1.5 SDK, you can skip this
uninstall procedure and continue to <a href="#installAdt">Install the 0.9 ADT plugin</a>).</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Manage Configuration</strong>. </li>
<li>Expand the list in the left panel to reveal the installed tools.</li>
<li>Right-click "Android Editors" and click <strong>Uninstall</strong>. Click <strong>OK</strong>
to confirm.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Installed Software</strong> tab.</li>
<li>Select "Android Editors". Click <strong>Uninstall</strong>.</li>
<li>In the next window, be sure "Android Editors" is checked, then click <strong>Finish</strong>
to uninstall.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
</tr>
</table>
<h3 id="installAdt">Install the 0.9 ADT plugin</h3>
<p>Only install the new plugin once you've completed the procedure to
<a href="#uninstallAdt">Uninstall your previous ADT plugin</a>.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Find and Install</strong>. </li>
<li>Select <strong>Search for new features to install</strong>.</li>
<li>Select the Android plugin entry by checking the box next to it,
then click <strong>Finish</strong>.
<p>(Your original entry for the plugin should still be here. If not, see the guide
to <a href="{@docRoot}sdk/1.5_r1/installing.html#installingplugin">Installing the ADT Plugin</a>.)
</p></li>
<li>In the results, expand the entry for the Android plugin and
be sure that "Developer Tools" is checked, then click <strong>Next</strong>.
(This will install "Android DDMS" and "Android Development Tools".)</li>
<li>Read and accept the license agreement, then click <strong>Next</strong>.
<li>In the next window, click <strong>Finish</strong> to start installation.</li>
<li>The ADT plugin is not digitally signed. Accept the installation anyway by clicking
<strong>Install All</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Available Software</strong> tab.</li>
<li>Expand the entry for the Andriod plugin (may be listed as the location URL)
and select "Developer Tools" by checking the box next to it, then click
<strong>Install</strong>.</li>
<li>On the next window, "Android DDMS" and "Android Development Tools"
should both be checked. Click <strong>Finish</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
</tr>
</table>
<p>If you encounter problems, ensure your ADT is fully uninstalled and then
follow the guide to
<a href="{@docRoot}sdk/1.5_r1/installing.html#installingplugin">Installing the ADT Plugin
for Eclipse</a>.</p>
<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences</strong> to open the Preferences
panel (Mac: <strong>Eclipse</strong> > <strong>Preferences</strong>).</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the <em>SDK Location</em> in the main panel, click <strong>Browse</strong>
and locate your SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="UpdateYourProjects">Update Your Projects</h2>
<p>You will now need to update any and all Android projects that you have
developed using a previous version of the Android SDK.</p>
<h3 id="EclipseUsers">Eclipse users</h3>
<p>If you use Eclipse to develop applications, use the following procedure to
update each project:</p>
<ol>
<li>Right-click on the individual project (in the Package Explorer)
and select <strong>Properties</strong>.</li>
<li>In the properties, open the Android panel and select a "build target" to compile
against. This SDK offers the Android 1.1 and Android 1.5 platforms to choose from. When
you are initially updating your projects to the new SDK, we recommend that you select a build
target with the Android 1.1 platform. Click <strong>Apply</strong>, then
<strong>OK</strong>.</li>
</ol>
<p>The new plugin creates a <code>gen/</code> folder in your project, in which it puts the
<code>R.java</code> file
and all automatically generated AIDL java files. If you get an error such as
<code>The type R is already defined</code>,
then you probably need to delete your old <code>R.java</code> or your old auto-generated
AIDL Java files in the <code>src/</code> folder.
(This <em>does not</em> apply to your own hand-crafted parcelable AIDL java files.)</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h3 id="AntUsers">Ant users</h3>
<p>If you build your projects using the Ant tool (rather than with Eclipse), note the
following changes with the new SDK tools.</p>
<h4>build.xml has changed</h4>
<p>You must re-create your <code>build.xml</code> file.</p>
<p>If you had customized your <code>build.xml</code>, first make a copy of it:</p>
<pre>
$ cd <em>my-project</em>
$ cp build.xml build.xml.old
</pre>
<p>Now use the new <code>android</code> tool (located in <code><em>your_sdk</em>/tools/</code>)
to create a new <code>build.xml</code> that references
a specific platform target:</p>
<pre>$ android update project --path /path/to/my-project --target 1</pre>
<p>The "target" corresponds to an Android platform library (including any add-ons, such as
Google APIs) that you would like to build your project against. You can view a list of available
targets (and their corresponding integer ID) with the command, <code>android list targets</code>.
When you are initially updating your projects to the new SDK, we recommend that you select the
first target ("1"), which uses the Android 1.1 platform library.</p>
<p>A <code>gen/</code> folder will be created the first time you build and your <code>R.java</code> and
your AIDL Java files will be generated in here. You <strong>must</strong> remove
the old <code>R.java</code> and old auto-generated AIDL java files from the
<code>src/</code> folder. (This
does not apply to your own hand-crafted parcelabe AIDL java files.)</p>
<p class="note"><strong>Note:</strong> The "activitycreator" tool has been replaced
by the new "android" tool. For information on creating new projects with the android tool,
see the documentation about <a href="{@docRoot}guide/developing/other-ide.html">Developing
In Other IDEs</a>.</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h2 id="MigrateYourApplications">Migrate Your Applications</h2>
<p>After you have completed the process above to <a href="#UpdateYourProjects">Update Your
Projects</a>, you are strongly encouraged to run each of your applications in an instance
of the emulator running the Android 1.5 system image. It's possible (however, unlikely)
that you'll encounter some breakage in your application when you run your applications on
the Android 1.5 system image. Whether you believe your application will be affected by
platform changes or not, it's very important that you test the application's
forward-compatibility on Android 1.5.</p>
<p>To test forward-compatibility, simply run your existing application (as-is) on an Android
Emulator that's running the Android 1.5 system image. The following procedure will guide
you through the process to running your existing applications on an emulator. <em>Please read
the following guide completely before you begin</em>.</p>
<p>To test your application on an emulator running Android 1.5:</p>
<ol>
<li><a href="#UpdateYourProjects">Update Your Project</a> (you should have done this
already, in the section above).</li>
<li>Run your existing project, as-is, on an emulator running the Android 1.5 system image.
<p>As mentioned in the guide to <a href="#UpdateYourProjects">Update Your Projects</a>,
you should have selected a "build
target" of "1", which compiles your application against the Android 1.1 system image, so there
should be no new errors in your code.</p>
<p>Eclipse users: follow the
<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
Running Your Application</a>.</p>
<p>Ant users: follow the
<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
Running Your Application</a>
<p>During the procedure to Running Your Application, select a "deployment target"
for the AVD that includes the Android 1.5 platform.
If your application utilizes the Google Maps APIs (i.e.,
MapView), be certain to select a target that includes the Google APIs.</p>
<p>Once you complete the procedures to run your application in your respective environment,
linked above, return here.</p>
</li>
<li>With your application running in the emulator, perform all regular testing on the application
to ensure that it functions normally (in both landscape and portrait orientations).</li>
</ol>
<p>Chances are, your application runs just fine on the Android 1.5 platform &mdash;
new devices will be able to safely install and run your application and
current users who update their devices will be able to continue using your application as usual.
However, if something doesn't work the way you expect, then you might need to revisit
your project and make any necessary changes to your code.</p>
<p>You can check for code breakages caused by API changes by opening your project
in Eclipse, changing the "build target" to one using the Android 1.5 platform,
and see where the ADT identifies errors in your code.</p>
<h3 id="FutureProofYourApps">Future-proof your apps</h3>
<p>There have been several API additions made for this release, but there have been
very few actual API <em>changes</em>. Only a couple (relatively unused) elements
have been removed and a few have been deprecated, so your applications written with the
Android 1.1 system library should work just fine. However,
your application is more likely to encounter problems on Android 1.5
if it performs any of the following:</p>
<ul>
<li>Uses internal APIs. That is, APIs that are not officially supported
and not available in the reference documentation. Any un-official APIs are always subject
to change (which is why they're un-official) and some have indeed changed.
</li>
<li>Directly manipulates system settings. There are some settings (such as
GPS, data roaming, bluetooth and others) that used to be writable by
applications but have been changed so that they can only be explicitly modified by the user
through the system settings. Refer to {@link android.provider.Settings.Secure}
to see which settings are now secured and cannot be directly changed by your application.
</li>
<li>Uses View hierarchies that are unreasonably deep (more than 10 or so levels) or
broad (more than 30 total). View hierarchies this big have always been troublesome, but
Android 1.5 is much more efficient at exposing this and your application may crash.
</li>
<li>Makes assumptions about the available hardware. With new support for soft keyboards,
not all devices will have full QWERTY keyboards on the hardware. So if your application
listens for special keypress events that only occur on a keypad, then your application
should degrade gracefully when there is no keyboard available.
</li>
<li>Performs its own layout orientation changes based on the acceletometer (or via other
sensors). Some devices running Android 1.5 will automatically rotate the orientation
(and all devices have the option to turn on auto-rotation), so if your application also
attempts to rotate the orientation, it can result in strange behavior. In addition, if your
application uses the accelerometer to detect shaking and you do not want to rotate the
orientation, then you should lock the current orientation with
<a href="{@docRoot}guide/topics/manifest/activity-element.html#screen">android:screenOrientation</a>.
</li>
</ul>
<p>Please read our blog post on <a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps</a> for more information on the issues mentioned above.</p>
<p>For information
about other changes made to Android 1.5, refer to the following documents:</p>
<ul>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a href="{@docRoot}sdk/android-1.5.html#api-changes">Android 1.5 Version Notes</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ul>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>

View File

@@ -1,396 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.5_r2
excludeFromSuggestions=true
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>Upgrading the SDK</h2>
<ul>
<li>The Android 1.5 SDK uses a new project structure and a new ADT plugin (ADT 0.9). </li>
<li>To move existing projects into the SDK, you must make some minor changes in your
development environment.</li>
<li>The new ADT plugin (ADT 0.9) <em>is not compatible</em> with projects created in previous SDKs.</li>
<li>You need to uninstall your existing ADT plugin, before installing ADT 0.9.</li>
</ul>
<h2>In this document</h2>
<ol>
<li><a href="#Install">Install the SDK</a></li>
<li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
<li><a href="#UpdateYourProjects">Update Your Projects</a>
<ol>
<li><a href="#EclipseUsers">Eclipse Users</a></li>
<li><a href="#AntUsers">Ant Users</a></li>
</ol>
</li>
<li><a href="#MigrateYourApplications">Migrate Your Applications</a>
<ol><li><a href="#FutureProofYourApps">Future-proof your apps</a></li></ol>
</li>
</ol>
<h2>Migrating references</h2>
<ol>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps &raquo;</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ol>
</div>
</div>
<p>This document describes how to move your development environment and existing
Android applications from an Android 1.0 or 1.1 SDK to the Android 1.5 SDK.
If you are migrating applications from an SDK older than 1.0, please also read the upgrading
document available in the Android 1.0 SDK package.</p>
<p>There are several compelling reasons to upgrade, such as new SDK tools
that make developing more efficient and new APIs that allow you to expand the feature-set
of your applications. However, even if you or your applications don't require these enhancements,
it's important that you upgrade to ensure that your applications run properly on the
Android 1.5 platform.</p>
<p>The Android 1.5 platform will soon be deployable to devices around the world.
If you have already released Android applications to the public, you should
test the forward-compatibility of your applications on the latest version of the platform
as soon as possible. It's unlikely that you'll encounter breakage in your applications, but
in the interest of maintaining the best user experience, you should take no risks.
So, please install the new Android SDK and test your applications on Android 1.5.</p>
<p>For more information on new SDK features and system changes,
see the <a href="{@docRoot}sdk/android-1.5.html">Android 1.5 Version Notes</a>.</p>
<h2 id="Install">Install the SDK</h2>
<p>If you haven't yet downloaded the SDK, <a href="{@docRoot}sdk/1.5_r2/index.html">download from here</a>
and unpack it into a safe location.</p>
<p><strong>Before you begin:</strong>
If you had previously setup your PATH variable to point to the SDK tools directory,
then you need to update it to point to the new SDK. For example, for a
<code>.bashrc</code> or <code>.bash_profile</code> file:</p>
<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
<p>If you don't use Eclipse for development,
skip to <a href="#updateYourProjects">Update Your Projects</a>.</p>
<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
<p><em>If you installed ADT-0.9_pre with the early look 1.5 SDK, there have been
additional changes, so please continue with this guide and update to the final ADT 0.9.</em></p>
<p>A new ADT plugin (version 0.9) is required for the Android 1.5 SDK.
Because the component structure has been changed since Android 1.1,
the Android 1.5 SDK does not work with ADT 0.8 (or older) and previously installed SDKs will not
work with ADT 0.9. However, the Android 1.5 SDK includes an Android 1.1 SDK image that you
can build against while using ADT 0.9. </p>
<p class="note">For information about using different system images (such as Android 1.1)
while running this SDK, see Developing <a href="{@docRoot}guide/developing/eclipse-adt.html">
In Eclipse, with ADT</a> or <a href="{@docRoot}guide/developing/other-ide.html">In
Other IDEs</a>, as appropriate for your development environment.</p>
<p>In order to upgrade your Eclipse IDE to use the new 0.9 ADT, follow the steps below
for your respective version of Eclipse.</p>
<h3 id="uninstallAdt">Uninstall your previous ADT plugin</h3>
<p>You must uninstall your existing ADT plugin (0.8 or older). If you do not uninstall it,
you will get a conflict with the Android Editors when installing the new ADT.
(If you have already installed ADT-0.9_pre with the early look 1.5 SDK, you can skip this
uninstall procedure and continue to <a href="#installAdt">Install the 0.9 ADT plugin</a>).</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Manage Configuration</strong>. </li>
<li>Expand the list in the left panel to reveal the installed tools.</li>
<li>Right-click "Android Editors" and click <strong>Uninstall</strong>. Click <strong>OK</strong>
to confirm.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Installed Software</strong> tab.</li>
<li>Select "Android Editors". Click <strong>Uninstall</strong>.</li>
<li>In the next window, be sure "Android Editors" is checked, then click <strong>Finish</strong>
to uninstall.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
</tr>
</table>
<h3 id="installAdt">Install the 0.9 ADT plugin</h3>
<p>Only install the new plugin once you've completed the procedure to
<a href="#uninstallAdt">Uninstall your previous ADT plugin</a>.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Find and Install</strong>. </li>
<li>Select <strong>Search for new features to install</strong>.</li>
<li>Select the Android plugin entry by checking the box next to it,
then click <strong>Finish</strong>.
<p>(Your original entry for the plugin should still be here. If not, see the guide
to <a href="{@docRoot}sdk/1.5_r2/installing.html#installingplugin">Installing the ADT Plugin</a>.)
</p></li>
<li>In the results, expand the entry for the Android plugin and
be sure that "Developer Tools" is checked, then click <strong>Next</strong>.
(This will install "Android DDMS" and "Android Development Tools".)</li>
<li>Read and accept the license agreement, then click <strong>Next</strong>.
<li>In the next window, click <strong>Finish</strong> to start installation.</li>
<li>The ADT plugin is not digitally signed. Accept the installation anyway by clicking
<strong>Install All</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Available Software</strong> tab.</li>
<li>Expand the entry for the Andriod plugin (may be listed as the location URL)
and select "Developer Tools" by checking the box next to it, then click
<strong>Install</strong>.</li>
<li>On the next window, "Android DDMS" and "Android Development Tools"
should both be checked. Click <strong>Finish</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
</tr>
</table>
<p>If you encounter problems, ensure your ADT is fully uninstalled and then
follow the guide to
<a href="{@docRoot}sdk/1.5_r2/installing.html#installingplugin">Installing the ADT Plugin
for Eclipse</a>.</p>
<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences</strong> to open the Preferences
panel (Mac: <strong>Eclipse</strong> > <strong>Preferences</strong>).</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the <em>SDK Location</em> in the main panel, click <strong>Browse</strong>
and locate your SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="UpdateYourProjects">Update Your Projects</h2>
<p>You will now need to update any and all Android projects that you have
developed using a previous version of the Android SDK.</p>
<h3 id="EclipseUsers">Eclipse users</h3>
<p>If you use Eclipse to develop applications, use the following procedure to
update each project:</p>
<ol>
<li>Right-click on the individual project (in the Package Explorer)
and select <strong>Properties</strong>.</li>
<li>In the properties, open the Android panel and select a "build target" to compile
against. This SDK offers the Android 1.1 and Android 1.5 platforms to choose from. When
you are initially updating your projects to the new SDK, we recommend that you select a build
target with the Android 1.1 platform. Click <strong>Apply</strong>, then
<strong>OK</strong>.</li>
</ol>
<p>The new plugin creates a <code>gen/</code> folder in your project, in which it puts the
<code>R.java</code> file
and all automatically generated AIDL java files. If you get an error such as
<code>The type R is already defined</code>,
then you probably need to delete your old <code>R.java</code> or your old auto-generated
AIDL Java files in the <code>src/</code> folder.
(This <em>does not</em> apply to your own hand-crafted parcelable AIDL java files.)</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h3 id="AntUsers">Ant users</h3>
<p>If you build your projects using the Ant tool (rather than with Eclipse), note the
following changes with the new SDK tools.</p>
<h4>build.xml has changed</h4>
<p>You must re-create your <code>build.xml</code> file.</p>
<p>If you had customized your <code>build.xml</code>, first make a copy of it:</p>
<pre>
$ cd <em>my-project</em>
$ cp build.xml build.xml.old
</pre>
<p>Now use the new <code>android</code> tool (located in <code><em>your_sdk</em>/tools/</code>)
to create a new <code>build.xml</code> that references
a specific platform target:</p>
<pre>$ android update project --path /path/to/my-project --target 1</pre>
<p>The "target" corresponds to an Android platform library (including any add-ons, such as
Google APIs) that you would like to build your project against. You can view a list of available
targets (and their corresponding integer ID) with the command, <code>android list targets</code>.
When you are initially updating your projects to the new SDK, we recommend that you select the
first target ("1"), which uses the Android 1.1 platform library.</p>
<p>A <code>gen/</code> folder will be created the first time you build and your <code>R.java</code> and
your AIDL Java files will be generated in here. You <strong>must</strong> remove
the old <code>R.java</code> and old auto-generated AIDL java files from the
<code>src/</code> folder. (This
does not apply to your own hand-crafted parcelabe AIDL java files.)</p>
<p class="note"><strong>Note:</strong> The "activitycreator" tool has been replaced
by the new "android" tool. For information on creating new projects with the android tool,
see the documentation about <a href="{@docRoot}guide/developing/other-ide.html">Developing
In Other IDEs</a>.</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h2 id="MigrateYourApplications">Migrate Your Applications</h2>
<p>After you have completed the process above to <a href="#UpdateYourProjects">Update Your
Projects</a>, you are strongly encouraged to run each of your applications in an instance
of the emulator running the Android 1.5 system image. It's possible (however, unlikely)
that you'll encounter some breakage in your application when you run your applications on
the Android 1.5 system image. Whether you believe your application will be affected by
platform changes or not, it's very important that you test the application's
forward-compatibility on Android 1.5.</p>
<p>To test forward-compatibility, simply run your existing application (as-is) on an Android
Emulator that's running the Android 1.5 system image. The following procedure will guide
you through the process to running your existing applications on an emulator. <em>Please read
the following guide completely before you begin</em>.</p>
<p>To test your application on an emulator running Android 1.5:</p>
<ol>
<li><a href="#UpdateYourProjects">Update Your Project</a> (you should have done this
already, in the section above).</li>
<li>Run your existing project, as-is, on an emulator running the Android 1.5 system image.
<p>As mentioned in the guide to <a href="#UpdateYourProjects">Update Your Projects</a>,
you should have selected a "build
target" of "1", which compiles your application against the Android 1.1 system image, so there
should be no new errors in your code.</p>
<p>Eclipse users: follow the
<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
Running Your Application</a>.</p>
<p>Ant users: follow the
<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
Running Your Application</a>
<p>During the procedure to Running Your Application, select a "deployment target"
for the AVD that includes the Android 1.5 platform.
If your application utilizes the Google Maps APIs (i.e.,
MapView), be certain to select a target that includes the Google APIs.</p>
<p>Once you complete the procedures to run your application in your respective environment,
linked above, return here.</p>
</li>
<li>With your application running in the emulator, perform all regular testing on the application
to ensure that it functions normally (in both landscape and portrait orientations).</li>
</ol>
<p>Chances are, your application runs just fine on the Android 1.5 platform &mdash;
new devices will be able to safely install and run your application and
current users who update their devices will be able to continue using your application as usual.
However, if something doesn't work the way you expect, then you might need to revisit
your project and make any necessary changes to your code.</p>
<p>You can check for code breakages caused by API changes by opening your project
in Eclipse, changing the "build target" to one using the Android 1.5 platform,
and see where the ADT identifies errors in your code.</p>
<h3 id="FutureProofYourApps">Future-proof your apps</h3>
<p>There have been several API additions made for this release, but there have been
very few actual API <em>changes</em>. Only a couple (relatively unused) elements
have been removed and a few have been deprecated, so your applications written with the
Android 1.1 system library should work just fine. However,
your application is more likely to encounter problems on Android 1.5
if it performs any of the following:</p>
<ul>
<li>Uses internal APIs. That is, APIs that are not officially supported
and not available in the reference documentation. Any un-official APIs are always subject
to change (which is why they're un-official) and some have indeed changed.
</li>
<li>Directly manipulates system settings. There are some settings (such as
GPS, data roaming, bluetooth and others) that used to be writable by
applications but have been changed so that they can only be explicitly modified by the user
through the system settings. Refer to {@link android.provider.Settings.Secure}
to see which settings are now secured and cannot be directly changed by your application.
</li>
<li>Uses View hierarchies that are unreasonably deep (more than 10 or so levels) or
broad (more than 30 total). View hierarchies this big have always been troublesome, but
Android 1.5 is much more efficient at exposing this and your application may crash.
</li>
<li>Makes assumptions about the available hardware. With new support for soft keyboards,
not all devices will have full QWERTY keyboards on the hardware. So if your application
listens for special keypress events that only occur on a keypad, then your application
should degrade gracefully when there is no keyboard available.
</li>
<li>Performs its own layout orientation changes based on the acceletometer (or via other
sensors). Some devices running Android 1.5 will automatically rotate the orientation
(and all devices have the option to turn on auto-rotation), so if your application also
attempts to rotate the orientation, it can result in strange behavior. In addition, if your
application uses the accelerometer to detect shaking and you do not want to rotate the
orientation, then you should lock the current orientation with
<a href="{@docRoot}guide/topics/manifest/activity-element.html#screen">android:screenOrientation</a>.
</li>
</ul>
<p>Please read our blog post on <a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps</a> for more information on the issues mentioned above.</p>
<p>For information
about other changes made to Android 1.5, refer to the following documents:</p>
<ul>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a href="{@docRoot}sdk/android-1.5.html#api-changes">Android 1.5 Version Notes</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ul>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>

View File

@@ -1,398 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.5
sdk.rel.id=3
excludeFromSuggestions=true
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>Upgrading the SDK</h2>
<ul>
<li>The Android 1.5 SDK uses a new project structure and a new ADT plugin (ADT 0.9). </li>
<li>To move existing projects into the SDK, you must make some minor changes in your
development environment.</li>
<li>The new ADT plugin (ADT 0.9) <em>is not compatible</em> with projects created in previous SDKs.</li>
<li>You need to uninstall your existing ADT plugin, before installing ADT 0.9.</li>
</ul>
<h2>In this document</h2>
<ol>
<li><a href="#Install">Install the SDK</a></li>
<li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
<li><a href="#UpdateYourProjects">Update Your Projects</a>
<ol>
<li><a href="#EclipseUsers">Eclipse Users</a></li>
<li><a href="#AntUsers">Ant Users</a></li>
</ol>
</li>
<li><a href="#MigrateYourApplications">Migrate Your Applications</a>
<ol><li><a href="#FutureProofYourApps">Future-proof your apps</a></li></ol>
</li>
</ol>
<h2>Migrating references</h2>
<ol>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps &raquo;</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ol>
</div>
</div>
<p>This document describes how to move your development environment and existing
Android applications from an Android 1.0 or 1.1 SDK to the Android 1.5 SDK.
If you are migrating applications from an SDK older than 1.0, please also read the upgrading
document available in the Android 1.0 SDK package.</p>
<p>There are several compelling reasons to upgrade, such as new SDK tools
that make developing more efficient and new APIs that allow you to expand the feature-set
of your applications. However, even if you or your applications don't require these enhancements,
it's important that you upgrade to ensure that your applications run properly on the
Android 1.5 platform.</p>
<p>The Android 1.5 platform will soon be deployable to devices around the world.
If you have already released Android applications to the public, you should
test the forward-compatibility of your applications on the latest version of the platform
as soon as possible. It's unlikely that you'll encounter breakage in your applications, but
in the interest of maintaining the best user experience, you should take no risks.
So, please install the new Android SDK and test your applications on Android 1.5.</p>
<p>For more information on new SDK features and system changes,
see the <a href="{@docRoot}sdk/android-1.5.html">Android 1.5 Version Notes</a>.</p>
<h2 id="Install">Install the SDK</h2>
<p>If you haven't yet downloaded the SDK, <a href="index.html">download from here</a>
and unpack it into a safe location.</p>
<p><strong>Before you begin:</strong>
If you had previously setup your PATH variable to point to the SDK tools directory,
then you need to update it to point to the new SDK. For example, for a
<code>.bashrc</code> or <code>.bash_profile</code> file:</p>
<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
<p>If you don't use Eclipse for development,
skip to <a href="#updateYourProjects">Update Your Projects</a>.</p>
<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
<p><em>If you installed ADT-0.9_pre with the early look 1.5 SDK, there have been
additional changes, so please continue with this guide and update to the final ADT 0.9.</em></p>
<p>A new ADT plugin (version 0.9) is required for the Android 1.5 SDK.
Because the component structure has been changed since Android 1.1,
the Android 1.5 SDK does not work with ADT 0.8 (or older) and previously installed SDKs will not
work with ADT 0.9. However, the Android 1.5 SDK includes an Android 1.1 SDK image that you
can build against while using ADT 0.9. </p>
<p class="note">For information about using different system images (such as Android 1.1)
while running this SDK, see Developing <a href="{@docRoot}guide/developing/eclipse-adt.html">
In Eclipse, with ADT</a> or <a href="{@docRoot}guide/developing/other-ide.html">In
Other IDEs</a>, as appropriate for your development environment.</p>
<p>In order to upgrade your Eclipse IDE to use the new 0.9 ADT, follow the steps below
for your respective version of Eclipse.</p>
<h3 id="uninstallAdt">Uninstall your previous ADT plugin</h3>
<p>You must uninstall your existing ADT plugin (0.8 or older). If you do not uninstall it,
you will get a conflict with the Android Editors when installing the new ADT.
(If you have already installed ADT-0.9_pre with the early look 1.5 SDK, you can skip this
uninstall procedure and continue to <a href="#installAdt">Install the 0.9 ADT plugin</a>).</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Manage Configuration</strong>. </li>
<li>Expand the list in the left panel to reveal the installed tools.</li>
<li>Right-click "Android Editors" and click <strong>Uninstall</strong>. Click <strong>OK</strong>
to confirm.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Installed Software</strong> tab.</li>
<li>Select "Android Editors". Click <strong>Uninstall</strong>.</li>
<li>In the next window, be sure "Android Editors" is checked, then click <strong>Finish</strong>
to uninstall.</li>
<li>Restart Eclipse.
<p>(Do not uninstall "Android Development Tools".)</p></li>
</ol>
</td>
</tr>
</table>
<h3 id="installAdt">Install the 0.9 ADT plugin</h3>
<p>Only install the new plugin once you've completed the procedure to
<a href="#uninstallAdt">Uninstall your previous ADT plugin</a>.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
<tr>
<td width="50%">
<!-- 3.3 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
<strong>Find and Install</strong>. </li>
<li>Select <strong>Search for new features to install</strong>.</li>
<li>Select the Android plugin entry by checking the box next to it,
then click <strong>Finish</strong>.
<p>(Your original entry for the plugin should still be here. If not, see the guide
to <a href="installing.html#installingplugin">Installing the ADT Plugin</a>.)
</p></li>
<li>In the results, expand the entry for the Android plugin and
be sure that "Developer Tools" is checked, then click <strong>Next</strong>.
(This will install "Android DDMS" and "Android Development Tools".)</li>
<li>Read and accept the license agreement, then click <strong>Next</strong>.
<li>In the next window, click <strong>Finish</strong> to start installation.</li>
<li>The ADT plugin is not digitally signed. Accept the installation anyway by clicking
<strong>Install All</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
<td>
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Available Software</strong> tab.</li>
<li>Expand the entry for the Android plugin (may be listed as the location URL)
and select "Developer Tools" by checking the box next to it, then click
<strong>Install</strong>.</li>
<li>On the next window, "Android DDMS" and "Android Development Tools"
should both be checked. Click <strong>Finish</strong>.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
</tr>
</table>
<p>If you encounter problems, ensure your ADT is fully uninstalled and then
follow the guide to
<a href="installing.html#installingplugin">Installing the ADT Plugin
for Eclipse</a>.</p>
<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences</strong> to open the Preferences
panel (Mac: <strong>Eclipse</strong> > <strong>Preferences</strong>).</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the <em>SDK Location</em> in the main panel, click <strong>Browse</strong>
and locate your SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="UpdateYourProjects">Update Your Projects</h2>
<p>You will now need to update any and all Android projects that you have
developed using a previous version of the Android SDK.</p>
<h3 id="EclipseUsers">Eclipse users</h3>
<p>If you use Eclipse to develop applications, use the following procedure to
update each project:</p>
<ol>
<li>Right-click on the individual project (in the Package Explorer)
and select <strong>Properties</strong>.</li>
<li>In the properties, open the Android panel and select a "build target" to compile
against. This SDK offers the Android 1.1 and Android 1.5 platforms to choose from. When
you are initially updating your projects to the new SDK, we recommend that you select a build
target with the Android 1.1 platform. Click <strong>Apply</strong>, then
<strong>OK</strong>.</li>
</ol>
<p>The new plugin creates a <code>gen/</code> folder in your project, in which it puts the
<code>R.java</code> file
and all automatically generated AIDL java files. If you get an error such as
<code>The type R is already defined</code>,
then you probably need to delete your old <code>R.java</code> or your old auto-generated
AIDL Java files in the <code>src/</code> folder.
(This <em>does not</em> apply to your own hand-crafted parcelable AIDL java files.)</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h3 id="AntUsers">Ant users</h3>
<p>If you build your projects using the Ant tool (rather than with Eclipse), note the
following changes with the new SDK tools.</p>
<h4>build.xml has changed</h4>
<p>You must re-create your <code>build.xml</code> file.</p>
<p>If you had customized your <code>build.xml</code>, first make a copy of it:</p>
<pre>
$ cd <em>my-project</em>
$ cp build.xml build.xml.old
</pre>
<p>Now use the new <code>android</code> tool (located in <code><em>your_sdk</em>/tools/</code>)
to create a new <code>build.xml</code> that references
a specific platform target:</p>
<pre>$ android update project --path /path/to/my-project --target 1</pre>
<p>The "target" corresponds to an Android platform library (including any add-ons, such as
Google APIs) that you would like to build your project against. You can view a list of available
targets (and their corresponding integer ID) with the command, <code>android list targets</code>.
When you are initially updating your projects to the new SDK, we recommend that you select the
first target ("1"), which uses the Android 1.1 platform library.</p>
<p>A <code>gen/</code> folder will be created the first time you build and your <code>R.java</code> and
your AIDL Java files will be generated in here. You <strong>must</strong> remove
the old <code>R.java</code> and old auto-generated AIDL java files from the
<code>src/</code> folder. (This
does not apply to your own hand-crafted parcelable AIDL java files.)</p>
<p class="note"><strong>Note:</strong> The "activitycreator" tool has been replaced
by the new "android" tool. For information on creating new projects with the android tool,
see the documentation about <a href="{@docRoot}guide/developing/other-ide.html">Developing
In Other IDEs</a>.</p>
<p>Note that, with the Android 1.5 SDK, there is a new process for running
applications in the Android Emulator.
Specifically, you must create an Android Virtual Device (AVD) before you can launch an instance
of the Emulator. Before attempting to run your applications with the new SDK,
please continue with the section below to
<a href="#MigrateYourApplications">Migrate Your Applications</a>.</p>
<h2 id="MigrateYourApplications">Migrate Your Applications</h2>
<p>After you have completed the process above to <a href="#UpdateYourProjects">Update Your
Projects</a>, you are strongly encouraged to run each of your applications in an instance
of the emulator running the Android 1.5 system image. It's possible (however, unlikely)
that you'll encounter some breakage in your application when you run your applications on
the Android 1.5 system image. Whether you believe your application will be affected by
platform changes or not, it's very important that you test the application's
forward-compatibility on Android 1.5.</p>
<p>To test forward-compatibility, simply run your existing application (as-is) on an Android
Emulator that's running the Android 1.5 system image. The following procedure will guide
you through the process to running your existing applications on an emulator. <em>Please read
the following guide completely before you begin</em>.</p>
<p>To test your application on an emulator running Android 1.5:</p>
<ol>
<li><a href="#UpdateYourProjects">Update Your Project</a> (you should have done this
already, in the section above).</li>
<li>Run your existing project, as-is, on an emulator running the Android 1.5 system image.
<p>As mentioned in the guide to <a href="#UpdateYourProjects">Update Your Projects</a>,
you should have selected a "build
target" of "1", which compiles your application against the Android 1.1 system image, so there
should be no new errors in your code.</p>
<p>Eclipse users: follow the
<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
Running Your Application</a>.</p>
<p>Ant users: follow the
<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
Running Your Application</a>
<p>During the procedure to Running Your Application, select a "deployment target"
for the AVD that includes the Android 1.5 platform.
If your application utilizes the Google Maps APIs (i.e.,
MapView), be certain to select a target that includes the Google APIs.</p>
<p>Once you complete the procedures to run your application in your respective environment,
linked above, return here.</p>
</li>
<li>With your application running in the emulator, perform all regular testing on the application
to ensure that it functions normally (in both landscape and portrait orientations).</li>
</ol>
<p>Chances are, your application runs just fine on the Android 1.5 platform &mdash;
new devices will be able to safely install and run your application and
current users who update their devices will be able to continue using your application as usual.
However, if something doesn't work the way you expect, then you might need to revisit
your project and make any necessary changes to your code.</p>
<p>You can check for code breakages caused by API changes by opening your project
in Eclipse, changing the "build target" to one using the Android 1.5 platform,
and see where the ADT identifies errors in your code.</p>
<h3 id="FutureProofYourApps">Future-proof your apps</h3>
<p>There have been several API additions made for this release, but there have been
very few actual API <em>changes</em>. Only a couple (relatively unused) elements
have been removed and a few have been deprecated, so your applications written with the
Android 1.1 system library should work just fine. However,
your application is more likely to encounter problems on Android 1.5
if it performs any of the following:</p>
<ul>
<li>Uses internal APIs. That is, APIs that are not officially supported
and not available in the reference documentation. Any un-official APIs are always subject
to change (which is why they're un-official) and some have indeed changed.
</li>
<li>Directly manipulates system settings. There are some settings (such as
GPS, data roaming, bluetooth and others) that used to be writable by
applications but have been changed so that they can only be explicitly modified by the user
through the system settings. Refer to {@link android.provider.Settings.Secure}
to see which settings are now secured and cannot be directly changed by your application.
</li>
<li>Uses View hierarchies that are unreasonably deep (more than 10 or so levels) or
broad (more than 30 total). View hierarchies this big have always been troublesome, but
Android 1.5 is much more efficient at exposing this and your application may crash.
</li>
<li>Makes assumptions about the available hardware. With new support for soft keyboards,
not all devices will have full QWERTY keyboards on the hardware. So if your application
listens for special keypress events that only occur on a keypad, then your application
should degrade gracefully when there is no keyboard available.
</li>
<li>Performs its own layout orientation changes based on the accelerometer (or via other
sensors). Some devices running Android 1.5 will automatically rotate the orientation
(and all devices have the option to turn on auto-rotation), so if your application also
attempts to rotate the orientation, it can result in strange behavior. In addition, if your
application uses the accelerometer to detect shaking and you do not want to rotate the
orientation, then you should lock the current orientation with
<a href="{@docRoot}guide/topics/manifest/activity-element.html#screen">android:screenOrientation</a>.
</li>
</ul>
<p>Please read our blog post on <a
href="http://android-developers.blogspot.com/2009/04/future-proofing-your-apps.html">Future-Proofing
Your Apps</a> for more information on the issues mentioned above.</p>
<p>For information
about other changes made to Android 1.5, refer to the following documents:</p>
<ul>
<li><a href="{@docRoot}sdk/api_diff/3/changes.html">Android 1.5 API Differences</a></li>
<li><a href="{@docRoot}sdk/android-1.5.html#api-changes">Android 1.5 Version Notes</a></li>
<li><a
href="http://android-developers.blogspot.com/2009/04/ui-framework-changes-in-android-15.html">UI
framework changes in Android 1.5 &raquo;</a></li>
</ul>
<p>If you have additional trouble updating your code, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>

View File

@@ -1,386 +0,0 @@
page.title=Upgrading the SDK
sdk.version=1.6
excludeFromSuggestions=true
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>Upgrading the SDK</h2>
<ul>
<li>If you are developing on the Android 1.5 SDK, migrating your
applications is straightforward and typically requires no modifications.</li>
<li>For Eclipse users, a new version of ADT is available. To use the Android
1.6 SDK, please upgrade to ADT 0.9.3 (or later).</li>
<li>For Windows users, the SDK includes a new USB driver that you can
install, if you are developing on a device. </li>
<li>A new Android SDK and AVD Manager tool is available. To access
it, run the <code>android</code> tool without options. </li>
</ul>
<h2>In this document</h2>
<ol>
<li><a href="#Install">Install the SDK</a></li>
<li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
<li><a href="#RunYourApps">Run Your Applications</a></li>
<li><a href="#MigrateYourApps">Migrate Your Applications</a></li>
</ol>
<h2>Migrating information</h2>
<ol>
<li><a href="{@docRoot}sdk/api_diff/4/changes.html">Android 1.6 API
Differences</a></li>
</ol>
</div>
</div>
<p>This document describes how to move your development environment and existing
Android applications from an Android 1.5 SDK to the Android 1.6 SDK. If you are
migrating applications from an SDK older than 1.5, please also read the
upgrading document available in the Android 1.5 SDK package.</p>
<p>There are several compelling reasons to upgrade, such as new SDK tools that
make developing more efficient and new APIs that allow you to expand the
feature-set of your applications. However, even if you or your applications
don't require these enhancements, it's important that you upgrade to ensure that
your applications run properly on the upcoming Android platform.</p>
<p>The Android 1.6 platform will soon be deployable to devices around the world.
If you have already released Android applications to the public, you should test
the forward-compatibility of your applications on the latest version of the
platform as soon as possible. It's unlikely that you'll encounter problems in
your applications, but in the interest of maintaining the best user experience,
you should take no risks. So, please install the new Android SDK and test your
applications on the new platform.</p>
<!-- NOT AVAILABLE FOR PREVIEW RELEASES -->
<p>For more information on new SDK features and system changes,
see the <a href="{@docRoot}sdk/android-1.6.html">Android 1.6 Version Notes</a>.</p>
<!-- -->
<h2 id="Install">Install the SDK</h2>
<p>If you haven't yet downloaded the SDK, <a href="index.html">download it from
here</a> and unpack it into a safe location.</p>
<p>If you had previously setup your <code>PATH</code> variable to point to the SDK
tools directory, then you need to update it to point to the new SDK. For example, for
a <code>.bashrc</code> or <code>.bash_profile</code> file:</p>
<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
<p>If you don't use the Eclipse IDE for development,
skip to <a href="#RunYourApps">Run Your Applications</a>.</p>
<p>A new version of the ADT Plugin, ADT 0.9.3, is available in conjunction with
this SDK release. To use the SDK, you must upgrade your ADT Plugin to version
0.9.3. With ADT 0.9.3, you can still compile your existing applications against
multiple platform versions, such as Android 1.5, Android 1.1, and so on. However,
ADT 0.9.3 is not compatible with previous versions of the SDK and its tools, so
make sure that you upgrade both your SDK <em>and</em> the ADT Plugin.</p>
The upgrade steps for ADT are described below. For information about new features in ADT, see the <a
href="{@docRoot}sdk/RELEASENOTES.html">Release Notes</a> document. </p>
<p>If you're currently using a version of ADT <em>older</em> than version 0.9,
then you must uninstall ADT before you proceed (read how to <a
href="{@docRoot}sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall your previous
ADT plugin</a>). If you currently have version 0.9 or 0.9.1, then you don't need
to uninstall and can continue with the procedure below.</p>
<table style="font-size:100%">
<tr><th>Eclipse 3.4 (Ganymede)</th><th>Eclipse 3.5 (Galileo)</th></tr>
<tr>
<td width="50%">
<!-- 3.4 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
<li>Select the <strong>Available Software</strong> tab.</li>
<li>Select the checkboxes next to Android DDMS and Android Developer Tools,
then click <strong>Update</strong>.</li>
<li>In the resulting Available Updates dialog, ensure that both Android DDMS
and Android Development Tools are selected, then click
<strong>Next</strong>.</li>
<li>Read and accept the license agreement and then click <strong>Finish</strong>.
This will download and install the latest version of Android DDMS and
Android Development Tools.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
<td>
<!-- 3.5 steps -->
<ol>
<li>Select <strong>Help</strong> &gt; <strong>Check for Updates</strong>. </li>
<li>In the resulting Available Updates dialog, locate the Android DDMS and
Android Development Tools features in the list and ensure that the checkboxes
next to them are selected. Click <strong>Next</strong>.
<p>If the Available Updates dialog does not list Android DDMS and Android
Development tools, make sure that you have set up a remote update site
for them, as described in
<a href="installing.html#InstallingADT">Installing the ADT Plugin</a>.
</p></li>
<li>In the Update Details dialog, click <strong>Next</strong>.</li>
<li>Read and accept the license agreement and then click <strong>Finish</strong>.
This will download and install the latest version of Android DDMS and
Android Development Tools.</li>
<li>Restart Eclipse.</li>
</ol>
</td>
</tr>
</table>
<p>If you encounter problems with this update procedure, try performing a fresh
installation. Fully remove your existing ADT Plugin as described in <a
href="{@docRoot}sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall your previous
ADT plugin</a> and then follow the guide to <a
href="installing.html#InstallingADT">Installing the ADT Plugin for
Eclipse</a>.</p>
<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
<p>The last step is to update your Eclipse preferences to point to the new
SDK directory:</p>
<ol>
<li>Select <strong>Window</strong> > <strong>Preferences</strong> to open
the Preferences panel (Mac: <strong>Eclipse</strong> > <strong>Preferences
</strong>).</li>
<li>Select <strong>Android</strong> from the left panel.</li>
<li>For the SDK Location, click <strong>Browse</strong>
and locate your SDK directory.</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h2 id="RunYourApps">Run Your Applications to Test Forward Compatibility</h2>
<p>Now that you have installed the Android 1.6 SDK, we encourage you run each of
your existing applications on the Android 1.6 system image that is included in
the SDK, to ensure that it functions properly on the new platform.
Testing forward-compatibility in this way is especially important for
applications that you may have already published and that may be installed on
devices that will upgrade to the new platform. </p>
<p>In most cases, your applications will function properly when run on the new
version of the platform. However, it is possible that you will encounter
unexpected behavior, because of changes in the API or underlying platform. If
you do find problems, you can use the SDK tools to compile and publish an update
to the applications, which users can then download.
<p>To test forward-compatibility, simply run your application, as-is, on an
instance of the Android Emulator that uses an AVD targeted to the "Android 1.6"
system image. Here are the steps: </p>
<ol>
<li>Make no changes to your application code.</li>
<li>Create a new AVD that runs the new "Android 1.6" platform. </li>
<li>Launch your application in an emulator running the new AVD.</li>
<li>Perform normal testing on your application to ensure everything works as
expected.</li>
</ol>
<p>Note that, for the purposes of forward-compatibility testing, you should not
change how your application is compiled. That is, you should continue to compile
the application against the same version of the Android library as before. The
only change needed is to the AVD, which controls the version of the Android
system image (run-time environment) on which the application is run.
<p>For more information on creating an AVD and launching your application, see
<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Running Your
Applications (Eclipse)</a> or <a
href="{@docRoot}guide/developing/other-ide.html#Running">Running
Your Applications (other IDEs)</a>, depending on your development
environment.</p>
<h3 id="FutureProofYourApps">Android 1.6 Forward-Compatibility Tips</h3>
<p>The new version of the Android platform includes several new APIs, but
very few actual changes to existing APIs. This means that, in most
cases, your applications written with earlier versions of the Android library
should run properly on the Android 1.6 platform. </p>
<p>However, here are some areas to pay attention to as you test forward-compatibility:</p>
<ul>
<li><strong>Make sure your application doesn't use internal APIs</strong>. Your
application should not use any APIs that are not officially supported and are
not published in the Android reference documentation. Unofficial APIs can change
at any time without notice and &mdash; if your application happens to be using
them &mdash; such a change could cause the application to break.</li>
<li><strong>Watch for assumptions about available hardware</strong>. Remember
that not all compatible devices offer the same hardware capabilities &mdash;
screens, keyboards, and physical keys, and so on. As you test your application,
watch for areas where your application depends on the presence of specific
hardware capabilities. If you find dependencies, you can design around them by
building in alternate support or graceful degradation, or you can specify them
as hardware requirements in a
<a href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code>.</a>
element in the application's manifest file. Also see the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
manifest element, which lets your application declare a requirement for
specific features, such as an OpenGL ES version or a camera that has
autofocus capability.
</li>
<li><strong>Watch for assumptions about available features</strong>. Not all
compatible devices offer equal support for embedded features. same hardware capabilities &mdash;
screens, keyboards, and physical keys, and so on. As you test your application,
watch for areas where your application depends on the presence of specific
hardware capabilities. If you find dependencies, you can design around them by
building in alternate support or graceful degradation, or you can specify them
as hardware requirements in a
<a href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code>.</a>
element in the application's manifest file. </li>
<p>When testing forward-compatibility, try running your application in various
AVDs that emulate different hardware configurations. For example, you can create
an AVD that does not offer a physical keyboard or one that uses a dpad instead
of a trackball. Running your application in different emulated hardware
configurations will give you an idea of where its dependencies are and help you
identify problems. </p>
</li>
<li><strong>Watch for assumptions about screen resolution and
density</strong>. A device's screen resolution and density is likely to affect
the way that your application's UI is rendered, especially if your app specifies
dimensions or positions using pixels or absolute layouts. To ensure consistent
UI across screens, your app should specify the dimensions and positions of
layouts and drawables in relative units that can be scaled by the system as
appropriate, according to the density of the device's screen. Alternatively, you
can create custom sets of layout/drawable resources for specific screens, which
the system can then load as appropriate, based on the current device screen.</p>
<p>When testing forward-compatibility, try running your application in various
AVDs that emulate different screen resolutions and densities. Also note that,
starting with Android 1.6, the platform provides a Compatibility Mode that
automatically scales the UI of applications if they do not explicitly indicate
support for the current screen in the
<a href="{@docRoot}guide/topics/manifest/supports-screen-element.html"><code>&lt;supports-screen&gt;</code></a>
element in their manifest files. As part of testing, you should evaluate how
your application is displayed in Compatibility Mode on different screens. </p>
</li>
<li><strong>Avoid performing layout orientation changes based on the
acceletometer (or via other sensors)</strong>. Some Android-powered devices will
automatically rotate the orientation (and all devices have the option to turn on
auto-rotation), so if your application also attempts to rotate the orientation,
it can result in strange behavior. In addition, if your application uses the
accelerometer to detect shaking and you do not want to rotate the orientation,
then you should lock the current orientation with <a
href="{@docRoot}guide/topics/manifest/activity-element.html#screen">android:screenOrientation</a>.
</li>
</ul>
<h2 id="MigrateYourApps">Migrate Your Applications</h2>
<p>If you want to use any of the new Android 1.6 APIs in your existing
applications, you must first migrate the applications to the new Android
platform version. Generally, migrating an application includes: </p>
<ul>
<li>Referencing the proper API Level in the application's manifest file,
and</li>
<li>Resetting its project properties so that it is compiled against the Android
1.6 build target.</li>
</ul>
<p>Additionally, to run your application in the emulator, you need to
create an AVD that uses the Android 1.6 system image. </p>
<p class="note"><strong>Note:</strong> You only need migrate your application as
described in this section if the application will actually use APIs
<em>introduced</em> in the Android 1.6 platform (which are not available on
devices running older versions of the Android platform). If your application
does not use any new APIs, you can compile and run it without modification and
not migration is necessary.</p>
<h3>Reference the Proper API Level</h3>
<p>If your application is using APIs introduced in Android 1.6, you must
reference that dependency in the application's manifest file so that it can be
deployed to devices running the Android 1.6 platform. </p>
<p>Open the manifest file and locate the <code>minSdkVersion</code> attribute
in the <code>&lt;uses-sdk&gt;</code> manifest element. Set the value of
<code>minSdkVersion</code> to <code>"4"</code> (the API Level
identifier corresponding to Android 1.6). Here's an example:</p>
<pre>
&lt;manifest>
...
&lt;uses-sdk android:minSdkVersion="4" />
...
&lt;/manifest>
</pre>
<h3>Compile Against the Proper Build Target</h3>
<p>Once you've changed the <code>minSdkVersion</code> value in your
application's manifest, you need to set the application's project properties so
that the application will be compiled against the Android 1.6 library. To do so,
follow the steps below for your respective development environment. </p>
<h4 id="EclipseUsers">Eclipse Users</h4>
<ol>
<li>Right-click on the individual project (in the Package Explorer)
and select <strong>Properties</strong>.</li>
<li>In the properties, open the Android panel and select a new Project Build Target.
Select "Android 1.6" to target the new platform (or "Google APIs" with the "4"
API Level, if your application uses the Google Maps APIs).</li>
<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
</ol>
<h4 id="AntUsers">Ant Users</h4>
<p>Use the <code>android</code> tool (located in
<code><em>your_sdk</em>/tools/</code>) to create a new <code>build.xml</code>
that references the new platform target. To see a list of available targets,
execute:</p>
<pre>android list targets</pre>
<p>Select the target <code>id</code> that corresponds to the "Android 1.6" platform
and pass it with the <code>--target</code> parameter when updating your project.
For example:</p>
<pre>android update project --path /path/to/my-project --target 2</pre>
<p>If your application uses the Google Maps APIs (i.e., MapView), be certain to
select a Google APIs target.</p>
<h3>Create an AVD that Uses the Android 1.6 Platform</h3>
<p>Finally, you need to set up a new AVD that uses the Android 1.6 platform, so that
you can run your application in the emulator.
<p>To set up the new AVD, use the <code>android</code> tool, available in the
<code>tools/</code> directory of the SDK. You can run the AVD manager by simply
changing to the <code>tools/</code> directory and entering <code>android</code>
at the command line. Click "New" to create the AVD and set its properties.</p>
<p>When creating the AVD, make sure to select a target of "Android 1.6 - API
Level 4". If your application uses the Google Maps APIs (MapView), select the
target "Google APIs (Google Inc.) - API Level 4". </p>
<p>For more information about running your application in an AVD, see <a
href="{@docRoot}guide/developing/eclipse-adt.html#Running">Running Your
Application (Eclipse)</a> or <a
href="{@docRoot}guide/developing/other-ide.html#Running">Running Your
Application (other IDEs)</a>. </p>
<p>For general information about AVDs, see the <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
Devices</a> document. </p>
<div class="special">
<p>If you have trouble migrating to the new version of the SDK, visit the
<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
to seek help from other Android developers.</p>
</div>

View File

@@ -731,11 +731,11 @@ to this release.</p>
<h3>ADT Plugin Compatibility</h3>
<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>
<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.</p>
<h3>Installation and Upgrade Notes</h3>
<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>
<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. 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>
<h3>Other Notes</h3>

View File

@@ -4214,7 +4214,6 @@ http://developer.android.com/reference/org/w3c/dom/Text.html
http://developer.android.com/reference/org/w3c/dom/TypeInfo.html
http://developer.android.com/reference/org/w3c/dom/UserDataHandler.html
http://developer.android.com/reference/android/support/v4/content/pm/ActivityInfoCompat.html
http://developer.android.com/guide/developing/debug-tasks.html
http://developer.android.com/reference/renderscript/rs__math_8rsh.html
http://developer.android.com/reference/renderscript/structrs__matrix4x4.html
http://developer.android.com/reference/renderscript/rs__cl_8rsh.html
@@ -6473,7 +6472,6 @@ http://developer.android.com/sdk/api_diff/10/changes/packages_index_changes.html
http://developer.android.com/sdk/api_diff/3/changes/constructors_index_removals.html
http://developer.android.com/sdk/api_diff/3/changes/constructors_index_additions.html
http://developer.android.com/sdk/api_diff/3/changes/constructors_index_changes.html
http://developer.android.com/tools/debug-tasks.html
http://developer.android.com/sdk/api_diff/5/changes/classes_index_additions.html
http://developer.android.com/sdk/api_diff/5/changes/classes_index_changes.html
http://developer.android.com/sdk/api_diff/16/changes/classes_index_additions.html

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/devices/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/devices/index.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/debugging/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/debugging/index.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/projects/projects-eclipse.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/projects/projects-eclipse.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/building/index.html#detailed-build">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/building/index.html#detailed-build">click here</a>.</p>
</body>
</html>

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/projects/projects-cmdline.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/projects/projects-cmdline.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,10 +0,0 @@
<html>
<head>
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/index.html">
<title>Redirecting...</title>
</head>
<body>
<p>You should be redirected. Please <a
href="http://developer.android.com/tools/index.html">click here</a>.</p>
</body>
</html>

View File

@@ -1,528 +0,0 @@
page.title=Release Notes for Older SDK Versions
excludeFromSuggestions=true
@jd:body
<div class="special">
<p><strong>Note:</strong> These are the release notes for the "early-look" SDK versions, released
before the full Android 1.0 release in September 2008.
Release notes for the Android 1.0 and later SDK versions are provided in the main
<a href="{@docRoot}sdk/RELEASENOTES.html">Release Notes</a> document.</p>
</div>
<a name="0.9_r1" id="0.9_r1"></a>
<h2>Android 0.9 SDK Beta (r1)</h2>
<p>This beta SDK release contains a large number of bug fixes and improvements from the early-look SDKs.&nbsp;
The sections below describe the highlights of the release.
<h3>New Features and Notable Changes</h3>
<p><strong>Behavior and System Changes</strong></p>
<ul>
<li>New Home screen and many user interface updates
</li>
<li>Minor changes to Activity lifecycle and task management
</li>
<li>New window option to request OpenGL acceleration for certain kinds of View structures
</li>
</ul>
<p>
<b>
Significant API Changes</b>
</p>
<ul>
<li>onFreeze(Bundle) renamed to onSaveInstanceState(Bundle), to better reflect the fact that it does not represent an actual change in application lifecycle
</li>
<li>IntentReceivers are now known as BroadcastReceivers (but still operate on Intents.)
</li>
<li>Various parts of the API cleaned up to use Intents instead of Bundles; Intent itself improved to reduce the need for separate payload Bundles.</li>
<li>ContentProvider Cursors have had significant changes to make them easier to create and remove certain data consistency bugs.
</li>
<li>Changes to menus to make them more flexible; also added context menus (similar to "right mouse button" menus)
</li>
<li>Changes to the Sensor API to make reading sensors more convenient and reduce the need to poll
</li>
<li>Improvements to the Camera API
</li>
<li>Significant changes to the Location API to make it easier to use and better self-documenting
</li>
<li>API cleanup on MapViews
</li>
<li>Performance-related changes to the MediaPlayer, as well as support for new types of ringtones
</li>
<li>Apache HTTPClient installation upgraded to 4.x of that API; 3.x version is removed
</li>
<li>HTTPClient 4.x removes multipart methods, include HttpMime which is an extension of Mime4j (http://james.apache.org/mime4j/index.html) in your project instead
</li>
<li>Improvements to WiFi and related networking
</li>
<li>New Preferences API to easily store small amounts of data
</li>
<li>Improvements to the Telephony API, including ability to obtain source number of incoming phone calls
</li>
<li>Variety of improvements to the View API
</li>
<li>Variety of improvements to component management, such as the ability to keep components private, better control over when processes are started, and ability to "alias" an Activity to more than one entry in AndroidManifest.xml
</li>
<li>Improvements to how the Browser and WebView, such as better control over content downloads
</li>
<li>A number of enhancements to XML layouts, such as the new &lt;merge&gt; tag
</li>
<li>Numerous improvements to the standard widgets
</li>
<li>Network access now requires that applications obtain a permission in their AndroidManifest.xml files.
</li>
</ul>
<p>
<b>
Maps &amp; Location</b>
</p>
<ul>
<li>The MapView will require an API key on final Android 1.0 devices. This key can be obtained at no cost from Google, and will allow access to the full MapView API. In this release, the API key must be provided but can be any dummy value.&nbsp; In the final 1.0-compatible SDKs, this will need to be a real key.
</li>
<li>The KML-based mock location provider supported in previous releases is no longer supported. In the current SDK, you can use the emulator console to send GPS fix updates to the emulator and applications running on it. Also, the DDMS tool provides an UI that you can use to easily upload GPX and KML files. DDMS handles playback of the KML or GPX tracks automatically. </li>
</ul>
<p>
<b>ADT Plugin for Eclipse</b></p>
<p>The ADT Plugin that accompanies this SDK includes a preview of the Graphical Layout Editor. Files located in &lt;project&gt;/res/layout[-qualifiers]/ will be opened with the new layout editor. This is very much a work in progress, and provided here for preview purpose. The editor feature is subject to change.
</p>
<ul>
<li>Dual page editor with a WYSIWYG page (the graphical editor) and an XML page with content assist.
</li>
<li>The interactivity in the editor itself is limited to selection at the moment. Actions on the layout elements can be done from the following standard Eclipse views: Outline (add/remove/up/down), and Properties (editing of all the element properties with a tooltip in the status bar).
</li>
<li>Top part of the editor allows you to display the layout in different configurations (language, orientation, size, etc...), and different themes.
<ul>
<li>All referenced resources (strings, bitmaps, etc...) are resolved based on the selected configuration/theme.
</li>
<li>A green check mark next to a resource qualifier indicates that the opened file matches the value of the qualifier. A warning sign indicates that the opened file does not specifies any value for this qualifier.
</li>
<li>If a different version of the opened layout matches the new configuration selection (in a different res/layout-qualifier folder) then the editor automatically switches to that new file.
</li>
</ul>
</li>
<li>Custom Views are supported, however if they do too much in their constructor/onDraw method, it may not work (the layout library used by the editor only includes a sub-part of the Android framework). Check the android console for errors/exceptions.
</li>
</ul>
<p>Known issues/limitations for Graphical Layout Editor include:</p>
<ul>
<li>Font display is very close but not equals to on-device rendering since the font engine in Java slightly differs from the font engine in Android. This should not have any impact on your layouts.
</li>
<li>Creating new views in a relative layout automatically puts each new elements below each other using the <i>layout_below</i> attribute. However, until the layout file is saved, they will appear stacked on top of each other.
</li>
<li>Some XML based drawables don't draw. Fading in the scroll/list view appears as a white rectangle. Generally do not expect every single fancy drawing feature of the android framework to be supported in the layout editor (but we're working on it).
</li>
<li>Themes defined in the project are not added to the theme drop-down.
</li>
<li>No animation support!
</li>
<li>No support for WebView, MapView and SurfaceView.
</li>
<li>No UI support for &lt;merge&gt;, &lt;include&gt;, &lt;ViewStub&gt; elements. You can add these elements to your manifest using the xml editor only.
</li>
<li>If a layout fails to render in a way that prevents the whole editor from opening, you can:
<ul>
<li>open that particular file in a different editor: right click the file in the package explorer and choose Open With... &gt; XML editor
</li>
<li>completely disable the layout editor, by setting a system wide environment variable called ANDROID_DISABLE_LAYOUT to any value.
</li>
</ul>
<li>If a layout fails to render, check the android console (in the standard Eclipse Console view). Errors/Exceptions will be displayed in there.
</li>
</ul>
</li>
</ul>
<p>Other ADT features/notes include:</p>
<ul>
<li>There is a new launch option for activity. You can choose to launch the default activity (finds an activity configured to show up in the home screen), or a specific activity, or none.</li>
<li>Normal Java resources (non Java files placed in package folders) are now properly packaged in the final package, and can be accessed through normal java API such as ClassLoader.getResourceAsStream()</li>
<li>Launch configuration now has an option to wipe emulator data on launch. This always asks for confirmation.</li>
<li>Launch configuration now has an option to disable the boot animation. This will let the emulator start faster on older computers.</li>
<li>Installation of application is now more robust and will notify of installation failure. Also installation is blocking, removing issues where ADT tried to launch the activity before the app was installed.</li>
</ul>
<p><b>Ant Build Tools</b></p>
<ul>
<li><span>External jar libraries are now directly supported by build.xml, just drop them in the libs directory.</li>
</ul>
<p><b>Emulator</b></p>
<ul>
<li>The console port number of a given emulator instance is now displayed in its window's title bar.</li>
<li>You can define the console port number used by a given emulator instance.
To do so, start the instance with the '-port &lt;port&gt;' option and
specify which port the emulator should bind to for the console. &lt;port&gt; must be an *even* integer between 5554 and 5584 inclusive. The corresponding ADB port will be &lt;port&gt;+1.</li>
<li>The <code>-adb-port</code> command is deprecated. Please do not use it, as it will be removed soon and you cannot use both -port and -adb-port at the same time.</li>
<li>Voice/sms are automatically forwarded to other emulator instances running on the same machine, as long as you use their console port number as the destination phone number. For example, if you have two emulators running, the first one will typically use console port 5554, and the second one will use port 5556, dialing 5556 on the first emulator will generate an incoming call on the second emulator. You can also hold/unhold calls. This also works when sending SMS messages from one emulator to the other.</li>
<li>A new <code>-scale &lt;fraction&gt;</code> option allows you to scale the emulator window. </li>
<li>A new <code>-no-boot-anim</code> option tells the emulator to disable the boot animation. On slower systems, this can significantly reduce the time to boot the system in the emulator.</li>
</ul>
<p>
<b>Other Development Tools</b>
</p>
<p>The SDK includes several new development tools, such as</p>
<ul>
<li><a href="{@docRoot}tools/help/hierarchy-viewer.html">HierarchyViewer</a> is a visual tool for inspecting and debugging your user interfaces and layout. </li>
<li><a href="{@docRoot}tools/help/draw9patch.html">Draw 9-patch</a> allows you to easily create a NinePatch graphic using a WYSIWYG editor. </li>
<li>The <a href="{@docRoot}tools/help/monkey.html">UI/Application Exerciser Monkey</a> generates pseudo-random system and user events, for testing your application. </li>
</ul>
<p>
<b>Application Signing</b>
</p>
<ul>
<li>Starting with this release, Android .apk files must be cryptographically signed, or the system will reject them upon installation.&nbsp; The purpose of this requirement is to securely and uniquely identify developers, so that the system can -- for example -- safely let multiple .apk files signed by the same developer share resources.&nbsp;
</li>
<li>There are no requirements on the key used to sign .apk files;&nbsp; locally-generated and self-signed keys are allowed.&nbsp; There is no PKI, and developers will not be required to purchase certificates, or similar. &nbsp; For developers who use the Eclipse/ADT plugin, application signing will be largely automatic.&nbsp; Developers who do not use Eclipse/ADT can use the standard Java jarsigner tool to sign .apk files.
</li>
</ul>
<p>
<b>Sample Code</b>
</p>
<ul>
<li>LunarLander has been converted to render into a SurfaceView via a background Thread, for better performance.
</li>
<li>New sample: the source code for the now-obsolete Home screen from M5 is included as an example of how to construct a Home screen replacement.
</li>
</ul>
<p>
<b>
Removed Functionality</b>
</p>
<ul>
<li>Due to significant API changes in the upstream open-source project and due to the timeline of getting certain Bluetooth profile implementations certified, a comprehensive Bluetooth API will not be possible or present in Android 1.0.
</li>
<li>Due to the security risks inherent in accepting arbitrary data from "outside" the device, the data messaging facility of the GTalkService will not be present in Android 1.0.&nbsp; The GTalkService will provide connectivity to Google's servers for Google Talk instant messaging, but the API has been removed from this release while we improve the service.&nbsp; Note that this will be a Google-specific service and is not part of the core of Android.
</li>
<li>We know that these changes will affect many developers who have worked with the prior early looks at the SDK, and we are very sorry for the resulting inconvenience.&nbsp; We look forward to the possibilty of restoring some or all of this functionality in a later version of the Android platform.
</li>
</ul>
<p>
<b>
Miscellaneous</b>
</p>
<ul>
<li>Many internal and non-public APIs have been removed from the documentation.&nbsp; Classes and methods that are not present in the documentation are non-public and should not be used, even though they may appear in tools such as IDEs.&nbsp; A future version of the SDK will ship with an android.jar file that contains only public classes, to help developers avoid accidentally using non-public APIs.
</li>
<li>A few extraneous APIs (such as unnecessary packages under java.awt) have been removed.
</li>
<li>Several additional tools are included, such as a utility for easily drawing 9-patch images.
</li>
<li>The DDMS utility has been refactored into library form. This is not of direct interest to application developers, but may be of interest to vendors interested in integrating the Android SDK into their products. Watch for more information about the ddmlib library soon.
</li>
<li>For performance and maintainability reasons, some APIs were moved into separate modules that must be explicitly included in the application via a directive in AndroidManifest.xml.&nbsp; Notable APIs that fall into this category are the MapView, and the java.awt.* classes, which each now reside in separate modules that must be imported.&nbsp; Developers who overlook this requirement will see ClassNotFoundExceptions that seem spurious.
</li>
<li>Developers who use 'adb push' to install applications must now use 'adb install', since the full package manager is now implemented. 'adb push' will no longer work to install .apk files.
</li>
<li>The emulator supports a variety of new options, and some existing options have been changed.&nbsp; Please consult the updated emulator documentation for details.
</li>
</ul>
<h3>
Resolved Issues
</h3>
<p>
The list below is not comprehensive, but instead highlights the most interesting fixes since the last SDK release.
</p>
<ul>
<li>More of the standard Android user applications are now included, such as the Music and Messaging applications.
</li>
<li>Many bug fixes to the Media Player
</li>
<li>Emulator performance is improved, especially for startup
</li>
<li>More internal APIs are removed from class documentation.&nbsp; (However, this work is not quite yet complete.)
</li>
<li>It's now much easier to add media content to the SD card and have the ContentProvider locate and expose it to other applications.
</li>
</ul>
<h3>
Known Issues
</h3>
<ul>
<li>The final set of Intent patterns honored by Android 1.0 has not yet been fully documented.&nbsp; Documentation will be provided in future releases.
</li>
<li>We regret to inform developers that Android 1.0 will not support 3.5" floppy disks.
</li>
<li>Unfortunately, the ability to play audio streams from memory (such as via an InputStream or Reader) will not be possible in Android 1.0.&nbsp; As a workaround, we recommend that developers save media content to SD card and use MediaPlayer to play from a file URI, or embed a small HTTP server and play from a URI on localhost (such as http://127.0.0.1:4242/something).
</li>
<li>Android now supports modules or libraries that can be optionally linked into applications; a good example is the MapView, which has been moved into such a library. However, Android 1.0 will not support the ability for third-party developers to create such libraries for sharing with other applications.
</li>
<li>We believe that we have eliminated the problem with very long emulator startups on Windows, but had some trouble reproducing the issue.&nbsp; We are interested in feedback from developers, if this issue persists.
</li>
</ul>
<a name="m5-rc15"></a>
<h2>Version m5-rc15</h2>
<h3>New Features</h3>
<p>m5-rc15 does not introduce any new features.</p>
<h3>Resolved Issues</h3>
<ul>
<li>1012640: Incorrect handling of BMP images.</li>
</ul>
<h3>Known Issues</h3>
<p>Unless otherwise noted, Known Issues from m5-rc14 also apply to m5-rc15.</p>
<a name="m5-rc14"></a>
<h2>Version m5-rc14</h2>
<h3>New Features</h3>
<p>In addition to changes in the Android APIs, m5-rc14 also introduces changes to the Android Developer Tools:</p>
<h4>emulator</h4>
<ul>
<li>The Android emulator now support SD card images up to 128 GB in size. The previous limit was 2 GB.</li>
</ul>
<h4>DDMS</h4>
<ul>
<li>Support for managing multiple devices has been integrated into DDMS. This should make it easier to debug applications that are run on multiple device scenarios.</li>
</ul>
<h4>ADT</h4>
<ul>
<li>ADT now attempts to connect a debugger to any application that shows up
in the wait-for-debugger state, even if this application was not launched
from Eclipse.
<br /><br />
The connection is actually established only if there exists a project
in the Eclipse workspace that contains an <code>AndroidManifest.xml</code>
declaring a package matching the name of the process.
To force this connection from your code, use <code>Debug.waitForDebugger()</code>. Activities declaring that they require their own process through the
"process" attribute with a value like ":someProcess" will be
recognized and a debugger will be connected accordingly.
This should make it easier to debug intent receivers, services,
providers, and other activities not launched from the standard app
launcher.<br /><br /></li>
<li>ADT has launch modes for device target selection. Automatic mode will: 1) launch an emulator if no device is present, 2) automatically target the device if only one is connected, and 3) prompt the user if 2 or more are connected. Manual mode will always prompt the user.<br /><br /></li>
<li>ADT also contains the same support for multiple devices that has been introduced into DDMS.</li>
</ul>
<h4>AIDL</h4>
<ul>
<li>AIDL files that import and reuse types is now supported by activityCreator.py and ADT.</li>
</ul>
<h4>traceview</h4>
<ul>
<li>The <a href="{@docRoot}tools/help/traceview.html">traceview</a> tool is now included in the SDK.</li>
</ul>
<h3>Resolved Issues</h3>
<p>The following Known Issues from m3-rc20 have been resolved:</p>
<ul>
<li>917572: The activityCreator created incorrect IntelliJ scripts</li>
<li>917465: Unanswered incoming calls placed from the emulator console will result in an unfinished call UI if you press the call back button</li>
<li>917247: dmtracedump and traceview tools are not available in the SDK</li>
<li>912168: Extremely rapid or prolonged scrolling in the Maps application or MapsView will result in application errors</li>
<li>905852: adb emits warnings about deprecated API use on Mac OS X 10.5</li>
<li>905242: The Run dialog sometimes failed to show the Android Launcher</li>
<li>901122: The focus ring in the browser is sometimes incorrect</li>
<li>896274: On Windows, the emulator sometimes starts off-screen</li>
<li>778432: Icons for newly installed applications do not display</li>
</ul>
<h3>Known Issues</h3>
<p>The following are known issues in m5-rc14:</p>
<ul>
<li>1017312: The emulator window size has been reduced slightly, to allow it to be fully visible on smaller screens. This causes a slight clipping of the HVGA emulator skin but does not affect its function.</li>
<li>1021777: Setting a power requirement in a <code>Criteria</code> object passed to <code>{@link android.location.LocationManager#getBestProvider getBestProvider()}</code> will result in a value not being returned.</li>
<li>1025850: Emulator failing to launch from the Eclipse plugin due to wrong custom command line parameters do not report the error anywhere and silently fails.</li>
</ul>
<p>Unless otherwise noted, Known Issues from m3-rc20a also apply to m5-rc14.</p>
<a name="m3-rc37a"></a>
<h2>Version m3-rc37a</h2>
<p>Version m3-rc37a and ADT 0.3.3 were released on December 14, 2007.</p>
<h3>New Features</h3>
<h4>Android Debug Bridge (ADB)</h4>
<ul>
<li>Now supports multiple emulators on one host computer. Please note that you need to use the <code>-data</code> option when starting secondary emulators, to allow those instances to save their data across sessions. Also, DDMS does not yet support debugging on multiple emulators yet. </li>
</ul>
<h4>ADT Plugin for Eclipse</h4>
<ul>
<li>Adds editor capabilities for working with Android manifest files, such as syntax highlighting and autocompletion. The editor capabilities require the Web Tools WST plugin for Eclipse, which is included in <a href="http://www.eclipse.org/downloads/moreinfo/compare.php">most Eclipse packages</a>. Not having WST does not prevent the ADT plugin from working. If necessary, you can download and install WST from the Web Tools Project <a href="http://download.eclipse.org/webtools/downloads">downloads page</a>. To update directly from an Eclipse installation, you can add a remote update site with this URL: http://download.eclipse.org/webtools/updates . Note that installing WST on Eclipse 3.4 will require installing other packages, as detailed on the WTP downloads page</a>.
</li>
<li>Now retries to launch the app on the emulator if it fails due to timing issues when the emulator is booting.</li>
<li>Adds support for loading custom skins from the &lt;SDK&gt;/lib/images/skins/ directory. The Skin dropdown in the Emulator tab is now built from the content of the skins/ directory in order to support developer-made skins.</li>
<li>Adds an Emulator control panel. This is a UI on top of the emulator console that allows you to change the state of the network and gsm connection, and to initiate incoming voice call. (This is also present in standalone DDMS.)</li>
<li>Adds support for referenced projects. Android projects will add to the apk package any code from referenced projects.</li>
<li>Eclipse console now warns if an .apk that is pushed to the device declares the same package as another already installed package.</li>
<li>Java classes generated by the Eclipse plugin are now marked as derived automatically, so that Team plugins do not consider them as regular source.</li>
</ul>
<h4>Emulator Console</h4>
<ul>
<li>Now provides support for emulating inbound SMS messages. The ADT plugin and DDMS provide integrated access to
this capability. For more information about how to emulate inbound SMS from the console,
see <a href="{@docRoot}tools/help/emulator.html#sms">SMS Emulation</a>. </li>
</ul>
<h4>Emulator</h4>
<ul><li>The default emulator skin has been changed to HVGA-P from QVGA-L. For information
about emulator skins and how to load a specific skin when starting the emulator, see
<a href="{@docRoot}tools/help/emulator.html#skins">Using Emulator Skins</a>.</li>
</ul>
<h3>Resolved Issues</h3>
<h4>907947</h4>
<p><code>adb -version</code> now returns a version number.</p>
<h4>917462</h4>
<p>Audio on Windows is fixed and is no longer 'choppy'. </p>
<h4>Removed Manifest File Locking on Mac OS X</h4>
<p>ADT plugin now uses a custom java editor for R.java/Manifest.java, to make those files non-editable. This is to replace the current locking mechanism which causes issues on Mac OS (preventing projects from being deleted). Note that your project must recompile at least once for the lock to be removed from the files.</p>
<h4>The following known issues noted in m3-rc20 are now fixed:</h4>
<p>
<ul>
<li>890937: Emulator does not support non-qwerty keyboards.
<li>894618: <code>adb shell</code> may fail to connect when used the first time.
<li>896274: On Windows, the emulator window may start off-screen.
<li>899949: The emulator may fail to start with <code>-useaudio</code> on some environments.
<li>912619: Emulator console listens on non-local ports 5554-5584.
<li>917399: On Windows, running multiple emulator consoles can result in unexpected behavior when simulating incoming telephone calls.
</ul>
</p>
<h3>Known Issues</h3>
<p>Unless otherwise noted, Known Issues from m3-rc22a also apply to m3-rc37a.</p>
<a name="m3-rc22a"></a>
<h2>Version m3-rc22a</h2>
<p>Version m3-rc22a and ADT 0.3.1 were released on November 16, 2007.</p>
<h3>Resolved Issues</h3>
<h4>920067</h4>
<p>The New Android Project wizard provided by ADT 0.3.1 now properly displays error messages when used with Eclipse 3.2 on Windows.</p>
<h4>920045</h4>
<p>The <code>AndroidManifest.xml</code> files generated by ADT 0.3.1 now include the XML element required for displaying the associated app in the "Applications" menu. If you have applications created with ADT 0.3.0, simply ensure that your <code>AndroidManifest.xml</code> file contains the following highlighted line:</p>
<pre>
...
&lt;intent-filter&gt;
&lt;action android:value=&quot;android.intent.action.MAIN&quot; /&gt;
<strong>&lt;category android:value=&quot;android.intent.category.LAUNCHER&quot; /&gt;</strong>
&lt;/intent-filter&gt;
...
</pre>
<h4>920098</h4>
<p>ADT 0.3.1 is now compatible with Eclipse 3.4.</p>
<h4>920282</h4>
<p>Fixes a NullPointerException that is thrown in certain situations with the DDMS perspective in Eclipse.</p>
<h4>918637</h4>
<p>Address a keyboard lock-up issue when using <code>adb</code> on Mac OS X 10.4 and 10.5.</p>
<h3>Known Issues</h3>
<p>Unless otherwise noted, known issues from m3-rc20a also apply to m3-rc22a.</p>
<a name="m3-rc20a"></a>
<h2>Version m3-rc20a</h2>
<h3>Known Issues</h3>
<p>The following are known issues in m3-rc20a:</p>
<h4>778432 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>In certain circumstances, icons for newly installed applications do not display as expected.</p>
<h4>890937 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m3-rc37a">m3-rc37a</a></span></h4>
<p>The emulator currently does not support non-QWERTY keyboards.</p>
<h4>894618 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m3-rc37a">m3-rc37a</a></span></h4>
<p>The adb shell command may fail to connect when used for the first time.</p>
<h4>896274 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>On Windows, the emulator screen will sometimes show up off-screen when it is started. The workaround for this is to right-click on the emulator taskbar entry, select Move, and move the window using keyboard arrow keys</p>
<h4>899949 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m3-rc37a">m3-rc37a</a></span></h4>
<p>The emulator may fail to start when using the <code>-useaudio</code> in some environments</p>
<h4>901122 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>The focus ring shown in the browser may sometimes not properly wrap links.</p>
<h4>905242 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>On Mac OS X 10.5, the Eclipse plugin's Run Dialog may sometimes fail to show the option to select the Android Launcher.</p>
<h4>905852 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>On Mac OS X 10.5, adb will emit warnings about deprecated API use when first used.</p>
<h4>912168 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>extremely rapid or prolonged scrolling in the Maps application or in a MapView will result in application errors.</p>
<h4>912619 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m3-rc37a">m3-rc37a</a></span></h4>
<p>The emulator console listens for connections on ports 5554-5587. Future versions will only accept connections from localhost. It is recommend that you use a firewall to block external connections to those ports on your development machine.</p>
<h4>912849</h4>
<p>On Mac OS X 10.4, the emulator may hang if started in the background (i.e. <code>./emulator &amp;</code>).</p>
<h4>914692</h4>
<p>On Mac OS X 10.5, the emulator will emit warnings about deprecated API use when started from the command line.</p>
<h4>917247 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>The dmtracedump and traceview tools are not available in the SDK.</p>
<h4>917399 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m3-rc37a">m3-rc37a</a></span></h4>
<p>On Windows, running multiple emulator consoles can result in unexpected behavior when simulating incoming telephone calls.</p>
<h4>917465 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>Unanswered incoming calls placed from the emulator console, will result in an unfinished call UI if you press the call back button.</p>
<h4>917572 - <span style="font-weight: normal; font-size: 13px; font-style: italic">Resolved in <a href="#m5-rc14">m5</a></span></h4>
<p>Using activityCreator with the <code>--ide intellij</code> option creates IntelliJ scripts with incorrect documentation location specified. To correct, change value for the <code>&lt;JAVADOC&gt;</code> element in the generated .ipr file from <code>file://.../docs/framework</code> to <code>file://.../docs/reference</code>.</p>
<h4>917579</h4>
<p>On Ubuntu 7.10 (Gusty), the Eclipse package installed by the <code>apt-get install eclipse</code> command uses java-gcj by default. This configuration is not compatible with the Android Eclipse plugin (ADT) and will result in "Class not found" errors whenever you access an ADT feature.</p>
<p>The resolution for this issue is to install a Sun JDK</p>
<pre>sudo update-java-alternatives --jre java-1.5.0-sun</pre>
<p>and then configure Eclipse to use it by exporting the following environment variable:</p>
<pre>export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun</pre>
<p>or by adding following to your <code>.eclipse/eclipserc file</code>:</p>
<pre>JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun</pre>

View File

@@ -1,804 +0,0 @@
page.title=SDK Release Notes
excludeFromSuggestions=true
@jd:body
<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>
<h2 id="multiversion_r1">Android SDK</h2>
<p>The Android SDK has changed! If you've worked with the Android SDK before,
you will notice several important differences:</p>
<ul>
<li style="margin-top:.5em">The SDK downloadable package includes <em>only</em>
the latest version of the Android SDK Tools.</li>
<li>Once you've installed the SDK, you now use the Android SDK and AVD Manager
to download all of the SDK components that you need, such as Android platforms,
SDK add-ons, tools, and documentation. </li>
<li>The new approach is modular &mdash; you can install only the components you
need and update any or all components without affecting your development
environment.</li>
<li>In short, once you've installed the new SDK, you will not need to download
an SDK package again. Instead, you will use the Android SDK and AVD Manager to
keep your development environment up-to-date. </li>
</ul>
<p>Note that if you are currently using the Android 1.6 SDK, you do not
necessarily need to install the new SDK, since your existing SDK already
includes the Android SDK and AVD Manager tool. To develop against Android 2.0.1,
for example, you could just download the Android 2.0.1 platform into your existing
SDK. </p>
<p>Release notes for Android platforms and other SDK components are
now available from the "SDK" tab, under "Downloadable SDK Components."</p>
<ul>
<li>Notes for the Android 2.0.1 platform are in the <a
href="{@docRoot}about/versions/android-2.0.1.html">Android 2.0.1, Release 1</a> document. </li>
<li>You can find information about tools changes in the <a
href="{@docRoot}tools/sdk/tools-notes.html#notes">SDK Tools</a> and <a
href="{@docRoot}tools/sdk/eclipse-adt.html#notes">ADT Plugin for Eclipse</a>.</li>
</ul>
<p>To get started with the SDK, review the Quick Start summary on the <a
href="{@docRoot}sdk/index.html">Android SDK download page</a> or read <a
href="{@docRoot}sdk/installing/index.html">Installing the SDK</a> for detailed
installation instructions. </p>
<h2 id="1.6_r1">Android 1.6 SDK, Release 1</h2>
<p>This SDK provides updates to the development tools and Android system that
you use to create applications for compliant Android-powered devices. </p>
<h3>Release Overview</h3>
<p>This SDK release includes several new features for developers. Highlights of the
changes include: </p>
<ul>
<li>Emulator support for multiple screen sizes/densities, including new
skins. </li>
<li>Android SDK and AVD Manager, a graphical UI to let you manage your
SDK and AVD environments more easily. The tool lets you create and manage
your <a href="{@docRoot}tools/devices/managing-avds.html">Android Virtual
Devices</a> and download new SDK packages (such as platform versions and
add-ons) into your environment.</li>
<li>Improved support for test packages in New Project Wizard</li>
<li>The reference documentation now offers a "Filter by API Level"
capability that lets you display only the parts of the API that are actually
available to your application, based on the <code>android:minSdkVersion</code>
value the application declares in its manifest. For more information, see
<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a></li>
</ul>
<p>For details about the Android platforms included in the SDK &mdash; including
bug fixes, features, and API changes &mdash; please read the <a
href="android-1.6.html">Android 1.6 version notes</a>.</p>
<h3>Installation and Upgrade Notes</h3>
<p>If you've been developing an application using an Android 1.1 SDK, you need
to make a few changes to your development environment to migrate to the new SDK.
Tools and documentation are provided to assist you. No changes to the source
code of an existing application should be needed, provided that your application
is not using Android internal structures or APIs.</p>
<p>To ensure that your existing application will work properly on a device
running the latest version of the Android platform, you are strongly encouraged
to migrate the application to the new SDK, compile it using the platform
matching the application's original API Level, and run it against the most
current platform. </p>
<h3>ADT Plugin for Eclipse</h3>
<p>An updated version of the ADT Plugin for Eclipse is available with the
Android 1.6 SDK. The new version, ADT 0.9.3, provides several new
features, including integrated support for the Android SDK and AVD Manager
and zipalign tool. In addition, the New Project Wizard now
lets you create a test package containing tests for your application. These
features are described in the sections below. </p>
<p>If you are developing in Eclipse with ADT and want to get started with the
Android 1.6 SDK, you should download and install a compatible version of the ADT
Plugin (0.9.3 or higher). </p>
<p>The new version of ADT is downloadable from the usual remote update site or
is separately downloadable as a .zip archive. For instructions on how to
download the plugin, please see <a
href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>. </p>
<h3>Android SDK and AVD Manager</h3>
<p>The SDK offers a new tool called Android SDK and AVD Manager that lets you
manage your SDK and AVD environments more efficiently. </p>
<p>Using the tool, you can quickly check what Android platforms, add-ons,
extras, and documentation packages are available in your SDK environment, what
their versions are, and whether updated versions are available. You can then
download one or more items from remote repositories and install them directly in
your SDK environment. For example, the tool lets you obtain updates to SDK tools
incrementally, as they are made available, without having to wait for the next
SDK release. You can also download Android platform versions into your
environment that were not included in the SDK package.</p>
<p>The tool also lets you quickly create new AVDs, manage
their properties, and run a target AVD from a single window. </p>
<p>If you are developing in Eclipse with ADT, you can access the Android SDK
and AVD Manager from the <strong>Window</strong> menu. </p>
<p>If you are developing in another IDE, you can access the Android SDK and
AVD Manager through the <code>android</code> command-line tool, located in the
&lt;sdk&gt;/tools directory. You can launch the tool with a graphical UI by
using the <code>android</code> command without specifying any options. You can
also simply double-click the android.bat (Windows) or android (OS X/Linux) file.
You can still use <code>android</code> commands to create and manage AVDs,
including AVDs with custom hardware configurations.</p>
<h3>Integration with zipalign</h3>
<p>The Android system offers a performance optimization for installed
application packages whose contained uncompressed files are all aligned on
4-byte boundaries. For these .apks, the system can read the files by mmap'ing
the zip file, rather than by copying all the data out of them. This reduces
the amount of memory used by the application at run time. The SDK includes
a tool called <code>zipalign</code> that you can run against your .apks, to
align them properly and enable them to benefit from this optimization.</p>
<p>The ADT Plugin and the Ant build tools both provide integrated support for
aligning your application packages. After you build an .apk, the SDK tools can
sign and then run <code>zipalign</code> against it. The SDK includes the
standalone version of the <code>zipalign</code> tool, so you can run also run it
manually from the command line if you choose. </p>
<ul>
<li>If you are developing in Eclipse with ADT, support for
<code>zipalign</code> is integrated into the Export Wizard. When you use the
Wizard to export a signed application package, ADT signs and then automatically
runs <code>zipalign</code> against the exported package. If you use the Wizard
to export an unsigned application package, then it will not zipalign the
package because zipalign must be performed only after the APK has been signed.
You must manually sign and zipalign the package after export. </li>
<li>If you are developing using Ant and are compiling in release mode, the
build tools will automatically sign and then <code>zipalign</code> the
application package, provided that you have specified the location of a valid
keystore in the build properties file. If you are compiling in debug mode, the
build tools will sign the package with the debug key and then <code>zipalign</code>
it.</li>
<li>To use <code>zipalign</code> manually, change to the SDK tools directory
and use the command syntax <code>$ zipalign 4 &lt;infile&gt;
&lt;outfile&gt;</code></li>
</ul>
<p>In general, note that you must <code>zipalign</code> an application only
<em>after</em> it has been signed, as signing will disrupt the package
alignment.</p>
<h3>Support for Test Packages in New Project Wizard</h3>
<p>The New Project Wizard available in the ADT 0.9.3 now lets you add a test
package containing Instrumentation or other classes of tests while you are
creating or importing a new Android application project. </p>
<h3>New USB Driver for Windows</h3>
<p>If you are using Windows and want to develop or test your application on an
Android-powered device (such as the T-Mobile G1), you need an appropriate USB
driver.
<p>The Windows version of the Android 1.6 SDK includes a new, WinUSB-based
driver that you can install. The driver is compatible with both 32- and 64-bit
versions of Windows XP and Vista. The driver represents an upgrade from the USB
driver included in previous Android SDKs, although installing the new driver is
not required. </p>
<p>If you installed the USB driver from a previous SDK release and it is working
properly, you do not need to upgrade to the new driver. However, we recommend
upgrading if you have had any problems with the older driver or simply want
to upgrade to the latest version.</p>
<p>For driver installation or
upgrade instructions, see <a
href="{@docRoot}sdk/win-usb.html">USB Driver for Windows</a>.</p>
</p>
<h3>Emulator Skins, Android 1.6 Platform</h3>
<p>The Android 1.6 platform included in the SDK provides a new set of emulator
skins, including: </p>
<ul>
<li>QVGA &mdash; 240 x 320, low density (120 dpi)</li>
<li>HVGA &mdash; 320 x 480, medium density (160 dpi)</li>
<li>WVGA800 &mdash; 480 x 800, high density (240 dpi)</li>
<li>WVGA854 &mdash; 480 x 854, high density (240 dpi)</li>
</ul>
<p>Besides these defaults, You can also create an AVD that overrides the default
density for each skin, to create any combination of resolution/density (WVGA
with medium density, for instance). To do so, use the <code>android</code> tool
command line to create a new AVD that uses a custom hardware configuration. See
<a href="{@docRoot}tools/devices/managing-avds.html#createavd">Creating an
AVD</a> for more information.</p>
<h3>Other Notes and Resolved Issues</h3>
<ul>
<li>This SDK release adds support for Eclipse 3.5 (Galileo) and deprecates
support for Eclipse 3.3 (Europa). </li>
<li>We regret to inform developers that Android 1.6 will not include support
for <a href="http://www.ietf.org/rfc/rfc2549">RFC 2549</a></li>
<li>The issue preventing adb from recognizing Samsung Galaxy devices (linux SDK
only) has been fixed.</li>
</ul>
<h2 id="1.5_r3">Android 1.5 SDK, Release 3</h2>
<p>Provides an updated Android 1.5 system image that includes permissions
fixes, as described below, and a new application &mdash; an IME for Japanese
text input. Also provides the same set of developer tools included in the
previous SDK, but with bug fixes and several new features.</p>
<h3>Permissions Fixes</h3>
<p>The latest version of the Android platform, deployable to
Android-powered devices, includes fixes to the permissions-checking
in certain areas of the framework. Specifically, the Android system
now properly checks and enforces several existing permissions where it
did not do so in the previous release. Because of these changes in
enforcement, you are strongly encouraged to test your application
against the new Android 1.5 system image included in this SDK, to ensure
that it functions normally. </p>
<p>In particular, if your application uses any of the system areas listed below,
you should add the required permissions to the application's manifest and then
test the areas of your code that depend on the permission-protected services.
Even if you believe your application does not use the permissions-protected
services, you should compile and test your application under the latest platform
version to ensure that users will not encounter problems when using your
application. </p>
<p>The changes to permissions are as follows:</p>
<ul>
<li>When an application requests access to device camera (through
android.hardware.camera), the <code>CAMERA</code> permission check is now
properly enforced. </li>
<li>When an application requests access to device audio capture (through
android.media.MediaRecorder), the <code>RECORD_AUDIO</code> permission check is
now properly enforced.</li>
</ul>
<p>For more information, see the issue described in the oCert advisory
below:</p>
<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>
<h3>Resolved Issues, Changes</h3>
<ul>
<li>The SDK includes a new version of the Google APIs add-on. The add-on
provides an updated com.google.android.maps external library that fixes compile
errors related to certain classes such as GeoPoint. For information about the
Google APIs add-on and the library it provides, see:
<p style="margin-left:2em;"><a
href="http://code.google.com/android/add-ons/google-apis">http://code.google.com/android/add-ons/google-apis</a> </p></li>
<li>The SDK add-on architecture now lets device manufacturers specify a USB
Vendor ID in their add-ons.
<li>The <code>android</code> tool provides a new command that scans SDK add-ons
for their USB Vendor IDs and makes them available to adb (OS X and Linux
versions of the SDK only). The command is <code>android update adb</code>. On
Windows versions of the SDK, a custom USB driver is included that supports the
"Google" and "HTC" Vendor IDs, which allow adb to recognize G1 and HTC
Magic devices. For other devices, contact the device manufacturer
to obtain a USB driver, especially if you have an SDK add-on that defines
a new USB Vendor ID.</li>
<li>The telephony, sensor, and geo fix issues in the emulator are now
fixed.</li>
<li>When you use adb to uninstall an upgraded application, the Android system
now properly restores any permissions that had already been granted to the
previous (downgrade) version of the application</li>
</ul>
<h2 id="1.5_r2">Android 1.5 SDK, Release 2</h2>
<p>This SDK release provides the same developer tools as the Android 1.5 SDK,
Release 1, but provides an updated Android 1.5 system image that includes a
security patch for the issue described in the oCert advisory below:</p>
<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>
<h2 id="1.5_r1">Android 1.5 SDK, Release 1</h2>
<p>This SDK provides updates to the development tools and Android system that
you use to create applications for compliant Android-powered devices. </p>
<h3>Release Overview</h3>
<p>This SDK release includes many new features for developers. Highlights of the
changes include: </p>
<ul>
<li>Multiple versions of the Android platform are included (Android 1.1,
Android 1.5). The tools are updated to let you deploy your application
on any platform in the SDK, which helps you ensure forward-compatibility and,
if applicable, backward-compatibility.</li>
<li>Introduces <a href="{@docRoot}tools/devices/managing-avds.html">Android
Virtual Devices</a> &mdash; (AVD) configurations of options that you
run in the emulator to better model actual devices. Each AVD gets its
own dedicated storage area, making it much easier to work with multiple emulators
that are running concurrently.</li>
<li>Support for SDK add-ons, which extend the
Android SDK to give you access to one or more external Android libraries and/or
a customized (but compliant) system image that can run in the emulator. </li>
<li>The new Eclipse ADT plugin (version 0.9.x) offers new Wizards to let you
create projects targeted for specific Android configurations, generate XML
resources (such as layouts, animations, and menus), generate alternate layouts,
and export and sign your application for publishing.</li>
<li>Improved JUnit support in ADT</li>
<li>Easier profiling of performance</li>
<li>Easier management of localized applications. You can now include or
exclude locale resources when building your APK from a single
Android project.</li>
<li>A new tool called "android" replaces the activitycreator script.</li>
</ul>
<p>For details about the Android platforms included in the SDK &mdash; including
bug fixes, features, and API changes &mdash; please read the <a
href="{@docRoot}about/versions/android-1.5.html">Android 1.5 version notes</a>.</p>
<h3>Installation and Upgrade Notes</h3>
<p>If you've been developing an application using an Android 1.1 SDK, you need
to make a few changes to your development environment to migrate to the new SDK.
Tools and documentation are provided to assist you. No changes to the source
code of an existing application should be needed, provided that your application
is not using Android internal structures or APIs.</p>
<p>To ensure that your existing application will work properly on a device
running the latest version of the Android platform, you are strongly encouraged
to migrate the application to the new SDK, compile it using the platform
matching the application's original API Level, and run it against the most
current platform. </p>
<h3>SDK Add-Ons</h3>
<p>This version of the SDK introduces support for SDK add-ons, which extend the
Android SDK to give you access to one or more external Android libraries and/or
a customized (but compliant) system image that can run in the emulator. The
purpose of an SDK add-on is to give you a way to develop applications for a
specific actual device (or family of devices) that extends the APIs available to
Android applications through external libraries or system customizations. </p>
<p>From the perspective of your Android development environment, an SDK add-on
is similar to any of the Android platform targets included in the SDK &mdash; it
includes an external library, a system image, as well as custom emulator skins
and system properties. The add-on differs in that the Android platform it
provides may include customized UI, resources, or behaviors, a different set of
preinstalled applications, or other similar modifications.
<p>The SDK includes a single SDK add-on &mdash; the Google APIs add-on. The
Google APIs add-on gives your application access to the com.google.android.maps
external library that is included on many (if not most) Android-powered devices.
The Google APIs add-on also includes a {@link android.location.Geocoder Geocoder}
backend service implementation. For more information, see the "Maps External
Library" section below. </p>
<h3>Android Virtual Devices (AVDs)</h3>
<p>The SDK now gives you the capability to compile an application against any
one of several system targets, then run it in the emulator on top of any
compatible system image. There are two types of targets:</p>
<ul>
<li>Targets that represent core Android platform versions. </li>
<li>Targets that are SDK add-ons, which typically provide application access to
one or more external libraries and/or a customized (but compliant) system image
that can run in the emulator.
</ul>
<p>A new tool called "android" lets you discover what targets and AVDs are
available to use.</p>
<p>For more information about AVDs, see <a
href="{@docRoot}tools/devices/index.html">Creating and Managing Virtual Devices</a>
<h3>Other Notes</h3>
<p><strong>Maps External Library</strong></p>
<p>In previous versions of the SDK, the com.google.android.maps package was
included in the standard Android library and system image. In the Android 1.5
SDK, that is not the case. The Android 1.5 library and system image do not
include the Maps external library (com.google.android.maps). However, the Maps
external library is available as part of the Google APIs add-on for the Android
SDK, downloadable from this location: </p>
<p style="margin-left:2em;"><a
href="http://code.google.com/android/add-ons/google-apis">http://code.google.com
/android/add-ons/google-apis</a> </p>
<p>For your convenience, the Google APIs add-on is included in the SDK. </p>
<p>For information about how to register for a Maps API Key, see
<a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">
Obtaining a Maps API Key</a>.</p>
<p><strong>USB Drivers for Windows</strong></p>
<p>If you are using Windows and want to develop or test your application on an
Android-powered device (such as the T-Mobile G1), you need an appropriate USB
driver. For your convenience, the Windows version of the Android SDK includes
these USB drivers that you can install, to let you develop on the device:</p>
<ul>
<li>USB driver for 32-bit XP and Vista</li>
<li>USB driver for 64-bit Vista only</li>
</ul>
<p>For driver installation or
upgrade instructions, see <a
href="{@docRoot}sdk/win-usb.html">USB Driver for Windows</a>.</p>
</p>
<h3>Resolved Issues, Changes</h3>
<p><strong>Media</strong></p>
<ul>
<li>Updated documentation for {@link android.media.SoundPool
android.media.SoundPool}</li>
<li>{@link android.webkit.WebView} objects no longer automatically save
thumbnails. The {@link android.webkit.WebView#capturePicture() capturePicture()}
method will need to be called manually.</li>
</ul>
<h3>Known Issues</h3>
<p><strong>Sensor problems in Emulator</strong></p>
<ul>
<li>If your application uses the Sensor API and you are running it in the
emulator on the Android 1.5 system image, you may experience problems. Your
application may generate ANR messages or crash when using the sensors. The
problem is being investigated.</li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>We regret to inform developers that Android 1.5 will not include support for
the Zilog Z80 processor architecture.</li>
</ul>
<h2 id="1.1_r1">Android 1.1 SDK, Release 1</h2>
<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>
<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>
<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}about/versions/android-1.1.html">Android 1.1 version notes</a>.</p>
<h3>App Versioning for Android 1.1</h3>
<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>
<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>
<pre><code>&lt;manifest&gt;
...
&lt;uses-sdk android:minSdkVersion="2" /&gt;
...
&lt;/manifest&gt;</code>
</pre>
<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>
<p>If your application uses APIs introduced in Android 1.1 but does not declare
<code>&lt;uses-sdk android:minSdkVersion="2" /&gt;</code>, then it will run properly on
Android 1.1 devices but <em>not</em> on Android 1.0 devices. </p>
<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>android: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>
<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>
<h3>ADT Plugin Compatibility</h3>
<p>For this version of the SDK &mdash; Android 1.1 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}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p>
<h3>Installation and Upgrade Notes</h3>
<p>If you've been developing an application using an Android 1.0 SDK no
changes to your application are needed. You may want to wipe application
user data (emulator option <code>-wipe-data</code>) when running your
application on the Android 1.1 emulator for the first time.</p>
<h3>Other Notes</h3>
<p><strong>MapView API Key</strong></p>
<p>com.google.android.maps.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>
<p>Developers should note that the registration service for MapView is now
active and Google Maps is actively enforcing the Maps API Key requirement.
For information about how to register for a Maps API Key, see
<a href="http://code.google.com/android/add-ons/google-apis/mapkey.html">
Obtaining a Maps API Key</a>.</p>
<p><strong>USB Drivers for Windows</strong></p>
<p>If you using Windows and want to develop or test your application on an
Android-powered device (such as the T-Mobile G1), you need an appropriate USB
driver. For your convenience, the Windows version of the Android SDK includes
these USB drivers that you can install, to let you develop on the device:</p>
<ul>
<li>USB driver for 32-bit XP and Vista</li>
<li>USB driver for 64-bit Vista only</li>
</ul>
<p>The USB driver files are located in the
<code>&lt;SDK&gt;/usb_driver</code> directory. For details and
installation instructions, see <a
href="{@docRoot}tools/device.html#setting-up">Connecting Hardware Devices</a>.</p>
</p>
<h3>Resolved Issues, Changes</h3>
<p><strong>Emulator</strong></p>
<ul>
<li>Emulator now saves the user image in &lt;android&gt;/SDK1.1/</code></li>
</ul>
<h3>Known Issues</h3>
<p><strong>JUnit and Eclipse/ADT</strong></p>
<ul>
<li>If you are developing in Eclipse/ADT and want to add JUnit test
classes, you can do so. However, you need to set up a custom JUnit configuration
before your tests will run properly. For detailed information about how to set
up the JUnit configuration, see the troubleshooting topic <a
href="{@docRoot}resources/faq/troubleshooting.html#addjunit">Running a Junit test class
in Eclipse</a>.</li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>It is not possible to send MMS messages between emulator instances. </li>
<li>In some cases, you may encounter problems when using the browser on an
emulator started with the command-line option <code>-http-proxy</code>. </li>
<li>On the OSX platform, if you manually remove the ~/.android directory
using <code>rm -rf ~/.android</code>, then try to run
the emulator, it crashes. This happens because the emulator fails to create
a new .android directory before attempting to create the child SDK1.0 directory.
To work around this issue, manually create a new .android directory using
<code>mkdir ~/.android</code>, then run the emulator. The emulator
creates the SDK1.0 directory and starts normally. </li>
<li>We regret to inform developers that Android 1.1 will not include support
for ARCNet network interfaces.</li>
<li>The final set of Intent patterns honored by Android 1.0 has not yet been
fully documented. Documentation will be provided in future releases.</li>
<li>In ADT Editor, you can add at most ten new resource values at a time,
in a given res/values/*.xml, using the form in the Android Resources pane.
If you add more than ten, the Android Resources pane will not display the
attributes fields for the additional resource entries. To work around this
problem, you can close the file in the editor and open it again, or you
can edit the resource entries in the XML text mode. </li>
<li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
are not working in this release.</li>
</ul>
<h2 id="1.0_r2">Android 1.0 SDK, Release 2</h2>
<p>This SDK release includes 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.</p>
<p>This release includes mainly bug fixes, although some smaller features were
added.</p>
<h3>ADT Plugin Compatibility</h3>
<p>For this release of the SDK, 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}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p>
<h3>Other Notes</h3>
<p><strong>T-Mobile G1 Compatibility</strong></p>
<p>This version of the SDK has been tested for compatibility with the first
Android-powered mobile device, the T-Mobile
G1. </p>
<p><strong>MapView API Key</strong></p>
<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>
<p>Developers should note that the registration service for MapView is now
active and Google Maps is actively enforcing the Maps API Key requirement. For
information about how to register for a Maps API Key, see <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>.
</p>
<p><strong>USB Driver for Windows</strong></p>
<p>If you using Windows and want to develop or test your application on an
Android-powered device (such as the T-Mobile G1), you need an appropriate USB
driver. For your convenience, the Windows version of the Android SDK includes a
USB driver that you can install, to let you develop on the device. The USB
driver files are located in the <code>&lt;SDK&gt;/usb_driver</code> directory.
</p>
<h3>Resolved Issues, Changes</h3>
<ul>
<li>The android.jar in this SDK release now includes several classes that were
missing from the previous SDK. </li>
<li>The android.R.styleable class and its fields were removed from the public
API, to better ensure forward-compatibility for applications. The constants
declared in android.R.styleable were platform-specific and subject to arbitrary
change across versions, so were not suitable for use by applications. You can
still access the platform's styleable attributes from your resources or code. To
do so, declare a custom resource element using a
<code>&lt;declare-styleable&gt;</code> in your project's res/values/R.attrs
file, then declare the attribute inside. For examples, see
&lt;sdk&gt;/samples/ApiDemos/res/values/attrs.xml. For more information about
custom resources, see <a
href="{@docRoot}guide/topics/resources/available-resources.html#customresources">Custom
Layout Resources</a>. Note that the android.R.styleable documentation is still
provided in the SDK, but only as a reference of the platform's styleable
attributes for the various elements.</li>
<li>The VM now properly ensures that private classes are not
available to applications through reflection. If you were using reflection
to access private classes in a previous release, you will now get a run-time
error. </li>
<li>The Settings and Email applications are now included in the SDK and
available in the emulator.</li>
<li>We regret to inform developers that SDK 1.0_r2 does not support MFM, RLL,
or Winchester hard disk drives.</li>
<li>In the emulator, the control key for enabling/disabling trackball mode
is changed from Control-T to F6. You can also enter trackball mode temporarily
using the Delete key. While the key is pressed, you can send trackball events.</li>
</ul>
<p>Unless otherwise noted, Known Issues from the previous SDK release also apply
to this release.</p>
<h2 id="1.0_r1">Android 1.0 SDK, Release 1</h2>
<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>
<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>
<h3>ADT Plugin Compatibility</h3>
<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>
<h3>Installation and Upgrade Notes</h3>
<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>
<h3>Other Notes</h3>
<p><strong>MapView API Key</strong></p>
<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>
<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>
<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>
<h3>Resolved Issues, Changes</h3>
<p><strong>Emulator</strong></p>
<ul>
<li>Emulator now saves the user image in &lt;android&gt;/SDK1.0/</code></li>
<li>Fixed EsounD-related freezes on Linux.</li>
<li>Fixed the documentation in -help-audio. '-audio list' doesn't work, one
needs to call -help-audio-out and -help-audio-in to get the list of valid
audio backends.</li>
<li>Fixed scrollwheel Dpad emulation in rotated mode. before that, using the
scroll-wheel would always generated Dpad Up/Down events, even when in
landscape mode.</li>
<li>Several Obsolete command options were removed.</li>
<li>Setting the network speed through the console or the -netspeed option will
properly modify the connectivity icon on the device.</li>
<li>Setting the GSM voice registration state to 'roaming' in the console will
properly modify the voice icon on the device</li>
</ul>
<p><strong>SQLite</strong></p>
<ul>
<li>SQLite is now included in the SDK package on all platforms. </li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>It is not possible to send MMS messages between emulator instances. </li>
<li>In some cases, you may encounter problems when using the browser on an
emulator started with the command-line option <code>-http-proxy</code>. </li>
<li>We regret to inform developers that Android 1.0 will not include support for
dot-matrix printers.</li>
<li>On the OSX platform, if you manually remove the ~/.android directory
using <code>rm -rf ~/.android</code>, then try to run
the emulator, it crashes. This happens because the emulator fails to create
a new .android directory before attempting to create the child SDK1.0 directory.
To work around this issue, manually create a new .android directory using
<code>mkdir ~/.android</code>, then run the emulator. The emulator
creates the SDK1.0 directory and starts normally. </li>
<li>The final set of Intent patterns honored by Android 1.0 has not yet been
fully documented. Documentation will be provided in future releases.</li>
<li>In ADT Editor, you can add at most ten new resource values at a time,
in a given res/values/*.xml, using the form in the Android Resources pane.
If you add more than ten, the Android Resources pane will not display the
attributes fields for the additional resource entries. To work around this
problem, you can close the file in the editor and open it again, or you
can edit the resource entries in the XML text mode. </li>
<li>The emulator's battery-control commands (<code>power &lt;option&gt</code>)
are not working in this release.</li>
</ul>

View File

@@ -1,591 +0,0 @@
page.title=Installing the SDK
excludeFromSuggestions=true
@jd:body
<script type="text/javascript">
function toggleDiv(link) {
var toggleable = $(link).parent();
if (toggleable.hasClass("closed")) {
//$(".toggleme", toggleable).slideDown("fast");
toggleable.removeClass("closed");
toggleable.addClass("open");
$(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot +
"assets/images/triangle-opened.png"));
} else {
//$(".toggleme", toggleable).slideUp("fast");
toggleable.removeClass("open");
toggleable.addClass("closed");
$(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot +
"assets/images/triangle-closed.png"));
}
return false;
}
</script>
<style>
.toggleable {
padding: .25em 1em 0em 1em;
margin-bottom: 0;
}
.toggleme {
padding: 1em 1em 0 2em;
line-height:1em;
}
.toggleable a {
text-decoration:none;
}
.toggleme a {
text-decoration:underline;
}
.toggleable.closed .toggleme {
display:none;
}
#jd-content .toggle-img {
margin:0;
}
</style>
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#Preparing">1. Preparing Your Development Computer</a></li>
<li><a href="#Installing">2. Downloading the SDK Starter Package</a></li>
<li><a href="#InstallingADT">3. Installing the ADT Plugin for Eclipse</a></li>
<li><a href="#AddingComponents">4. Adding Platforms and Other Packages</a>
<ol>
<li><a href="#components">Available Packages</a></li>
<li><a href="#which">Recommended Packages</a></li>
</ol></li>
<li><a href="#sdkContents">5. Exploring the SDK (Optional)</a></li>
<li><a href="#NextSteps">Next Steps</a></li>
<li><a href="#troubleshooting">Troubleshooting</a></li>
</ol>
<h2>See also</h2>
<ol>
<li><a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin for Eclipse</a></li>
<li><a href="{@docRoot}sdk/exploring.html">Exploring the SDK</a></li>
</ol>
</div>
</div>
<p>This page describes how to install the Android SDK
and set up your development environment for the first time.</p>
<p>If you encounter any problems during installation, see the
<a href="#troubleshooting">Troubleshooting</a> section at the bottom of
this page.</p>
<h4>Updating?</h4>
<p>If you already have an Android SDK, use the Android SDK Manager tool to install
updated tools and new Android platforms into your existing environment. For information about how to
do that, see <a href="{@docRoot}sdk/exploring.html">Exploring the SDK</a>.</p>
<h2 id="Preparing">Step 1. Preparing Your Development Computer</h2>
<p>Before getting started with the Android SDK, take a moment to confirm that
your development computer meets the <a href="requirements.html">System
Requirements</a>. In particular, you might need to install the <a
href="http://java.sun.com/javase/downloads/index.jsp">JDK</a>, if you don't have it already. </p>
<p>If you will be developing in Eclipse with the Android Development
Tools (ADT) Plugin&mdash;the recommended path if you are new to
Android&mdash;make sure that you have a suitable version of Eclipse
installed on your computer as described in the
<a href="requirements.html">System Requirements</a> document.
If you need to install Eclipse, you can download it from this location: </p>
<p style="margin-left:2em;"><a href=
"http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p>
<p>The "Eclipse Classic" version is recommended. Otherwise, a Java or
RCP version of Eclipse is recommended.</p>
<h2 id="Installing">Step 2. Downloading the SDK Starter Package</h2>
<p>The SDK starter package is not a full
development environment&mdash;it includes only the core SDK Tools, which you can
use to download the rest of the SDK packages (such as the latest Android platform).</p>
<p>If you haven't already, get the latest version of the SDK starter package from the <a
href="{@docRoot}sdk/index.html">SDK download page</a>.</p>
<p>If you downloaded a {@code .zip} or {@code .tgz} package (instead of the SDK installer), unpack
it to a safe location on your machine. By default, the SDK files are unpacked
into a directory named <code>android-sdk-&lt;machine-platform&gt;</code>.</p>
<p>If you downloaded the Windows installer ({@code .exe} file), run it now and it will check
whether the proper Java SE Development Kit (JDK) is installed (installing it, if necessary), then
install the SDK Tools into a default location (which you can modify).</p>
<p>Make a note of the name and location of the SDK directory on your system&mdash;you will need to
refer to the SDK directory later, when setting up the ADT plugin and when using
the SDK tools from the command line.</p>
<h2 id="InstallingADT">Step 3. Installing the ADT Plugin for Eclipse</h2>
<p>Android offers a custom plugin for the Eclipse IDE, called Android
Development Tools (ADT), that is designed to give you a powerful, integrated
environment in which to build Android applications. It extends the capabilites
of Eclipse to let you quickly set up new Android projects, create an application
UI, debug your applications
using the Android SDK tools, and even export signed (or unsigned) APKs in order
to distribute your application. In general, developing in Eclipse with ADT is a
highly recommended approach and is the fastest way to get started with Android.
</p>
<p>If you'd like to use ADT for developing Android applications, install it now.
Read <a href="{@docRoot}tools/sdk/eclipse-adt.html#installing">Installing the ADT Plugin</a> for
step-by-step installation instructions, then return here to continue the
last step in setting up your Android SDK.</p>
<p>If you prefer to work in a different IDE, you do not need to
install Eclipse or ADT. Instead, you can directly use the SDK tools to build and
debug your application. The <a href="{@docRoot}tools/workflow/index.html">Introduction</a>
to Android application development outlines the major steps that you need to complete when
developing in Eclipse or other IDEs.</p>
<h2 id="AddingComponents">Step 4. Adding Platforms and Other Packages</h2>
<p>The last step in setting up your SDK is using the Android SDK Manager (a
tool included in the SDK starter package) to download essential SDK packages into your development
environment.</p>
<p>The SDK uses a modular structure that separates the major parts of the SDK&mdash;Android platform
versions, add-ons, tools, samples, and documentation&mdash;into a set of separately installable
packages. The SDK starter package, which you've already downloaded, includes only a single
package: the latest version of the SDK Tools. To develop an Android application, you also need to
download at least one Android platform and the associated platform tools. You can add other
packages and platforms as well, which is highly recommended.</p>
<p>If you used the Windows installer, when you complete the installation wizard, it will launch the
Android SDK Manager with a default set of platforms and other packages selected
for you to install. Simply click <strong>Install</strong> to accept the recommended set of
packages and install them. You can then skip to <a href="#sdkContents">Step 5</a>, but we
recommend you first read the section about the <a href="#components">Available Packages</a> to
better understand the packages available from the Android SDK Manager.</p>
<p>You can launch the Android SDK Manager in one of the following ways:</p>
<ul>
<li>From within Eclipse, select <strong>Window &gt; Android SDK Manager</strong>.</li>
<li>On Windows, double-click the <code>SDK Manager.exe</code> file at the root of the Android
SDK directory.</li>
<li>On Mac or Linux, open a terminal and navigate to the <code>tools/</code> directory in the
Android SDK, then execute: <pre>android</pre> </li>
</ul>
<p>To download packages, use the graphical UI of the Android SDK
Manager to browse the SDK repository and select new or updated
packages (see figure 1). The Android SDK Manager installs the selected packages in
your SDK environment. For information about which packages you should download, see <a
href="#which">Recommended Packages</a>.</p>
<img src="/images/sdk_manager_packages.png" />
<p class="img-caption"><strong>Figure 1.</strong> The Android SDK Manager's
<strong>Available Packages</strong> panel, which shows the SDK packages that are
available for you to download into your environment.</p>
<h3 id="components">Available Packages</h3>
<p>By default, there are two repositories of packages for your SDK: <em>Android
Repository</em> and <em>Third party Add-ons</em>.</p>
<p>The <em>Android Repository</em> offers these types of packages:</p>
<ul>
<li><strong>SDK Tools</strong> &mdash; Contains tools for debugging and testing your application
and other utility tools. These tools are installed with the Android SDK starter package and receive
periodic updates. You can access these tools in the <code>&lt;sdk&gt;/tools/</code> directory of
your SDK. To learn more about
them, see <a href="{@docRoot}tools/index.html#tools-sdk">SDK Tools</a> in the
developer guide.</li>
<li><strong>SDK Platform-tools</strong> &mdash; Contains platform-dependent tools for developing
and debugging your application. These tools support the latest features of the Android platform and
are typically updated only when a new platform becomes available. You can access these tools in the
<code>&lt;sdk&gt;/platform-tools/</code> directory. To learn more about them, see <a
href="{@docRoot}tools/index.html#tools-platform">Platform Tools</a> in the
developer guide.</li>
<li><strong>Android platforms</strong> &mdash; An SDK platform is
available for every production Android platform deployable to Android-powered devices. Each
SDK platform package includes a fully compliant Android library, system image, sample code,
and emulator skins. To learn more about a specific platform, see the list of platforms that appears
under the section "Downloadable SDK Packages" on the left part of this page.</li>
<li><strong>USB Driver for Windows</strong> (Windows only) &mdash; Contains driver files
that you can install on your Windows computer, so that you can run and debug
your applications on an actual device. You <em>do not</em> need the USB driver unless
you plan to debug your application on an actual Android-powered device. If you
develop on Mac OS X or Linux, you do not need a special driver to debug
your application on an Android-powered device. See <a
href="{@docRoot}tools/device.html">Using Hardware Devices</a> for more information
about developing on a real device.</li>
<li><strong>Samples</strong> &mdash; Contains the sample code and apps available
for each Android development platform. If you are just getting started with
Android development, make sure to download the samples to your SDK. <!--The download
includes not only a set of very useful sample apps, but also the source for <a
href="{@docRoot}training/basics/firstapp/index.html">Building Your First App</a> and other
tutorials. --></li>
<li><strong>Documentation</strong> &mdash; Contains a local copy of the latest
multiversion documentation for the Android framework API. </li>
</ul>
<p>The <em>Third party Add-ons</em> provide packages that allow you to create a development
environment using a specific Android external library (such as the Google Maps library) or a
customized (but fully compliant) Android system image. You can add additional Add-on repositories by
clicking <strong>Add Add-on Site</strong>.</p>
<h3 id="which">Recommended Packages</h3>
<p>The SDK repository contains a range of packages that you can download.
Use the table below to determine which packages you need, based on whether you
want to set up a basic, recommended, or full development environment:
</p>
<table style="width:95%">
<tr>
<th>Environment</th>
<th>SDK&nbsp;Package</th>
<th>Comments</th>
</tr>
<tr>
<td rowspan="3" style="font-size:.9em;background-color:#FFE;">Basic</td>
<td style="font-size:.9em;background-color:#FFE;">SDK Tools</td>
<td style="font-size:.9em;background-color:#FFE;">If you've just installed
the SDK starter package, then you already have the latest version of this package. The
SDK Tools package is required to develop an Android application. Make sure you keep this up to
date.</td>
</tr>
<tr>
<td style="font-size:.9em;background-color:#FFE;">SDK Platform-tools</td>
<td style="font-size:.9em;background-color:#FFE;">This includes more tools that are required
for application development. These tools are platform-dependent and typically update only when
a new SDK platform is made available, in order to support new features in the platform. These
tools are always backward compatible with older platforms, but you must be sure that you have
the latest version of these tools when you install a new SDK platform.</td>
</tr>
<tr>
<td style="font-size:.9em;background-color:#FFE;">SDK platform</td>
<td style="font-size:.9em;background-color:#FFE;">You need to download <strong
style="color:red">at least one platform</strong> into your environment, so that
you will be able to compile your application and set up an Android Virtual
Device (AVD) to run it on (in the emulator). To start with, just download the
latest version of the platform. Later, if you plan to publish your application,
you will want to download other platforms as well, so that you can test your
application on the full range of Android platform versions that your application supports.</td>
</tr>
<tr>
<td colspan="2"
style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td><td
style="border:none"></td>
</tr>
<tr>
<td rowspan="3">Recommended<br/>(plus Basic)</td>
<td>Documentation</td>
<td>The Documentation package is useful because it lets you work offline and
also look up API reference information from inside Eclipse.</td>
</tr>
<tr>
<td>Samples</td>
<td>The Samples packages give you source code that you can use to learn about
Android, load as a project and run, or reuse in your own app. Note that multiple
samples packages are available &mdash; one for each Android platform version. When
you are choosing a samples package to download, select the one whose API Level
matches the API Level of the Android platform that you plan to use.</td>
</tr>
<tr>
<td>Usb Driver</td>
<td>The Usb Driver package is needed only if you are developing on Windows and
have an Android-powered device on which you want to install your application for
debugging and testing. For Mac OS X and Linux platforms, no
special driver is needed.</td>
</tr>
<tr>
<td colspan="2"
style="border:none;text-align:center;font-size:1.5em;font-weight:bold;">+</td><td
style="border:none"></td>
</tr>
<tr>
<td rowspan="3">Full<br/>(plus Recommended)</td>
<td>Google APIs</td>
<td>The Google APIs add-on gives your application access to the Maps external
library, which makes it easy to display and manipulate Maps data in your
application. </td>
</tr>
<tr>
<td>Additional SDK Platforms</td>
<td>If you plan to publish your application, you will want to download
additional platforms corresponding to the Android platform versions on which you
want the application to run. The recommended approach is to compile your
application against the lowest version you want to support, but test it against
higher versions that you intend the application to run on. You can test your
applications on different platforms by running in an Android Virtual Device
(AVD) on the Android emulator.</td>
</tr>
</table>
<p>Once you've installed at least the basic configuration of SDK packages, you're ready to start
developing Android apps. The next section describes the contents of the Android SDK to familiarize
you with the packages you've just installed.</p>
<p>For more information about using the Android SDK Manager, see the <a
href="{@docRoot}sdk/exploring.html">Exploring the SDK</a> document. </p>
<h2 id="sdkContents">Step 5. Exploring the SDK (Optional)</h2>
<p>Once you've installed the SDK and downloaded the platforms, documentation,
and add-ons that you need, we suggest that you open the SDK directory and take a look at what's
inside.</p>
<p>The table below describes the full SDK directory contents, with packages
installed. </p>
<table>
<tr>
<th colspan="3">Name</th><th>Description</th>
</tr>
<tr>
<td colspan="3"><code>add-ons/</code></td>
<td>Contains add-ons to the Android SDK development
environment, which let you develop against external libraries that are available on some
devices. </td>
</tr>
<tr>
<td colspan="3"><code>docs/</code></td>
<td>A full set of documentation in HTML format, including the Developer's Guide,
API Reference, and other information. To read the documentation, load the
file <code>index.html</code> in a web browser.</td>
</tr>
<tr>
<td colspan="3"><code>platform-tools/</code></td>
<td>Contains platform-dependent development tools that may be updated with each platform release.
The platform tools include the Android Debug Bridge ({@code adb}) as well as other tools that you
don't typically use directly. These tools are separate from the development tools in the {@code
tools/} directory because these tools may be updated in order to support new
features in the latest Android platform.</td>
</tr>
<tr>
<td colspan="3"><code>platforms/</code></td>
<td>Contains a set of Android platform versions that you can develop
applications against, each in a separate directory. </td>
</tr>
<tr>
<td style="width:2em;"></td>
<td colspan="2"><code><em>&lt;platform&gt;</em>/</code></td>
<td>Platform version directory, for example "android-11". All platform version directories contain
a similar set of files and subdirectory structure. Each platform directory also includes the
Android library (<code>android.jar</code>) that is used to compile applications against the
platform version.</td>
</tr>
<tr>
<td colspan="3"><code>samples/</code></td>
<td>Sample code and apps that are specific to platform version.</td>
</tr>
<tr>
<td colspan="3"><code>tools/</code></td>
<td>Contains the set of development and profiling tools that are platform-independent, such
as the emulator, the Android SDK Manager, the AVD Manager, <code>ddms</code>,
<code>hierarchyviewer</code>
and more. The tools in this directory may be updated at any time using the Android SDK
Manager and are independent of platform releases.</td>
</tr>
<tr>
<td colspan="3"><code>SDK Readme.txt</code></td>
<td>A file that explains how to perform the initial setup of your SDK,
including how to launch the Android SDK Manager tool on all
platforms.</td>
</tr>
<tr>
<td colspan="3"><code>SDK Manager.exe</code></td>
<td>Windows SDK only. A shortcut that launches the Android SDK
Manager tool, which you use to add packages to your SDK.</td>
</tr>
<!--<tr>
<td colspan="3"><code>documentation.html</code></td>
<td>A file that loads the entry page for the local Android SDK
documentation.</td>
</tr>-->
</table>
<p>Optionally, you might want to add the location of the SDK's <code>tools/</code> and
<code>platform-tools</code> to your <code>PATH</code> environment variable, to provide easy
access to the tools.</p>
<div class="toggleable closed">
<a href="#" onclick="return toggleDiv(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
width="9px" />
How to update your PATH</a>
<div class="toggleme">
<p>Adding both <code>tools/</code> and <code>platform-tools/</code> to your PATH lets you run
command line <a href="{@docRoot}tools/index.html">tools</a> without needing to
supply the full path to the tool directories. Depending on your operating system, you can
include these directories in your PATH in the following way:</p>
<ul>
<li>On Windows, right-click on My Computer, and select Properties.
Under the Advanced tab, hit the Environment Variables button, and in the
dialog that comes up, double-click on Path (under System Variables). Add the full path to the
<code>tools/</code> and <code>platform-tools/</code> directories to the path. </li>
<li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look
for a line that sets the PATH environment variable and add the
full path to the <code>tools/</code> and <code>platform-tools/</code> directories to it. If you
don't see a line setting the path, you can add one:
<pre>export PATH=${PATH}:&lt;sdk&gt;/tools:&lt;sdk&gt;/platform-tools</pre>
</li>
<li>On a Mac OS X, look in your home directory for <code>.bash_profile</code> and
proceed as for Linux. You can create the <code>.bash_profile</code> if
you don't already have one. </li>
</ul>
</div><!-- end toggleme -->
</div><!-- end toggleable -->
<h2 id="NextSteps">Next Steps</h2>
<p>Once you have completed installation, you are ready to
begin developing applications. Here are a few ways you can get started: </p>
<p><strong>Set up the Hello World application</strong></p>
<ul>
<li>If you have just installed the SDK for the first time, go to the <a
href="{@docRoot}training/basics/firstapp/index.html">Hello
World tutorial</a>. The tutorial takes you step-by-step through the process
of setting up your first Android project, including setting up an Android
Virtual Device (AVD) on which to run the application.
</li>
</ul>
<p class="note">Following the Hello World tutorial is an essential
first step in getting started with Android development. </p>
<p><strong>Learn about Android</strong></p>
<ul>
<li>Take a look at the <a href="{@docRoot}guide/index.html">Dev
Guide</a> and the types of information it provides.</li>
<li>Read an introduction to Android as a platform in <a
href="{@docRoot}guide/basics/what-is-android.html">What is
Android?</a></li>
<li>Learn about the Android framework and how applications run on it in
<a href="{@docRoot}guide/components/fundamentals.html">Application
Fundamentals</a>.</li>
<li>Take a look at the Android framework API specification in the <a
href="{@docRoot}reference/packages.html">Reference</a> tab.</li>
</ul>
<p><strong>Explore the development tools</strong></p>
<ul>
<li>Get an overview of the <a
href="{@docRoot}tools/index.html">development
tools</a> that are available to you.</li>
<li>Read the <a href="{@docRoot}tools/workflow/index.html">Introduction</a> to Android
application development.
</li>
<li>Read <a href="{@docRoot}tools/device.html">Using Hardware Devices</a> to learn
how to set up an Android-powered device so you can run and test your application.</li>
</ul>
<p><strong>Follow the Notepad tutorial</strong></p>
<ul>
<li>The <a href="{@docRoot}training/notepad/index.html">
Notepad Tutorial</a> shows you how to build a full Android application
and provides helpful commentary on the Android system and API. The
Notepad tutorial helps you bring together the important design
and architectural concepts in a moderately complex application.
</li>
</ul>
<p class="note">Following the Notepad tutorial is an excellent
second step in getting started with Android development. </p>
<p><strong>Explore some code</strong></p>
<ul>
<li>The Android SDK includes sample code and applications for each platform
version. You can browse the samples in the <a
href="{@docRoot}resources/index.html">Resources</a> tab or download them
into your SDK using the Android SDK Manager. Once you've downloaded the
samples, you'll find them in
<code><em>&lt;sdk&gt;</em>/samples/<em>&lt;platform&gt;/</em></code>. </li>
</ul>
<p><strong>Visit the Android developer groups</strong></p>
<ul>
<li>Take a look at the <a
href="{@docRoot}resources/community-groups.html">Community</a> pages to see a list of
Android developers groups. In particular, you might want to look at the
<a href="http://groups.google.com/group/android-developers">Android
Developers</a> group to get a sense for what the Android developer
community is like.</li>
</ul>
<h2 id="troubleshooting">Troubleshooting</h2>
<h3>Ubuntu Linux Notes</h3>
<ul>
<li>If you need help installing and configuring Java on your
development machine, you might find these resources helpful:
<ul>
<li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li>
<li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li>
</ul>
</li>
<li>Here are the steps to install Java and Eclipse, prior to installing
the Android SDK and ADT Plugin.
<ol>
<li>If you are running a 64-bit distribution on your development
machine, you need to install the <code>ia32-libs</code> package using
<code>apt-get:</code>:
<pre>apt-get install ia32-libs</pre>
</li>
<li>Next, install Java: <pre>apt-get install sun-java6-jdk</pre></li>
<li>The Ubuntu package manager does not currently offer an Eclipse 3.3
version for download, so we recommend that you download Eclipse from
eclipse.org (<a
href="http://www.eclipse.org/downloads/">http://www.eclipse.org/
downloads/</a>). A Java or RCP version of Eclipse is recommended.</li>
<li>Follow the steps given in previous sections to install the SDK
and the ADT plugin. </li>
</ol>
</li>
</ul>
<h3>Other Linux Notes</h3>
<ul>
<li>If JDK is already installed on your development computer, please
take a moment to make sure that it meets the version requirements listed
in the <a href="requirements.html">System Requirements</a>.
In particular, note that some Linux distributions may include JDK 1.4 or Gnu
Compiler for Java, both of which are not supported for Android development.</li>
</ul>

View File

@@ -1,614 +0,0 @@
page.title=SDK Archives
excludeFromSuggestions=true
@jd:body
<p>This page provides a full list of archived and obsolete SDK releases,
including non-current versions of active releases and "early look" versions that
were released before Android 1.0. <strong>These are provided for
informational and archival purposes only</strong>.</p>
<div class="special">
<p>If you are just starting to develop applications for Android, please
download the current <a href="{@docRoot}sdk/index.html">Android
SDK</a>. With the current Android SDK, you can add any current and previous
version of the Android platform as a component and use it for
development and testing.</p>
<p>If you already have an Android SDK for platform version 1.6 or newer, then
you do not need to install a new SDK&mdash;especially not one from this page.
You should install older platforms as components of your existing SDK.
See <a href="{@docRoot}sdk/exploring.html">Exploring the SDK</a>.</p>
</div>
<h2>Archived SDKs</h2>
<p>The tables below provides Android SDKs that are current in terms of their
platform version, but do not provide the latest Android development
environment and tools. Instead of downloading one of these, as a separate
SDK for each version of the platform, you should instead use the new
version-neutral Android SDK to download each version of
the Android platfrom as an individual component.</p>
<p>Please download the current <a
href="http://developer.android.com/sdk/index.html">Android SDK</a>.</p>
<h3>Release 1.6 r1</h3>
<p><em>September 2009 - <a href="RELEASENOTES.html#1.6_r1">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.6_r1.zip">android-sdk-
windows-1 .6_r1.zip</a>
</td>
<td>260529085 bytes</td>
<td>2bcbacbc7af0363058ca1cac6abad848</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.6_r1.zip">android-sdk-
mac_x86-1 .6_r1.zip</a>
</td>
<td>247412515 bytes</td>
<td>eb13cc79602d492e89103efcf48ac1f6</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.6_r1.tgz">android-
sdk- linux_x86-1.6_r1.tgz</a>
</td>
<td>238224860 bytes</td>
<td>b4bf0e610ff6db2fb6fb09c49cba1e79</td>
</tr>
</table>
<h3>Release 1.5 r3</h3>
<p><em>July 2009 - <a href="RELEASENOTES.html#1.5_r3">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.5_r3.zip">android-sdk-
windows-1 .5_r3.zip</a>
</td>
<td>191477853 bytes</td>
<td>1725fd6963ce69102ba7192568dfc711</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.5_r3.zip">android-sdk-
mac_x86-1 .5_r3.zip</a>
</td>
<td>183024673 bytes</td>
<td>b1bafdaefdcec89a14b604b504e7daec</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.5_r3.zip">android-
sdk- linux_x86-1.5_r3.zip</a>
</td>
<td>178117561 bytes</td>
<td>350d0211678ced38da926b8c9ffa4fac</td>
</tr>
</table>
<h3>Release 1.1 r1</h3>
<p><em>February 2009 - <a href="RELEASENOTES.html#1.1_r1">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.1_r1.zip">android-sdk-
windows-1
.1_r1.zip</a>
</td>
<td>86038515 bytes</td>
<td>8c4b9080b430025370689e03d20842f3</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.1_r1.zip">android-sdk-
mac_x86-1
.1_r1.zip</a>
</td>
<td>79046151 bytes</td>
<td>becf0f1763d61eedce15d2a903d6c1dd</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.1_r1.zip">android-
sdk-
linux_x86-1.1_r1.zip</a>
</td>
<td>79345522 bytes</td>
<td>ebcb16b0cd4aef198b4dd9a1418efbf1</td>
</tr>
</table>
<h3>Release 1.0 r2</h3>
<p><em>November 2008 - <a href="RELEASENOTES.html#1.0_r2">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.0_r2.zip">android-sdk-
windows-1
.0_r2.zip</a>
</td>
<td>98360564 bytes</td>
<td>a5e1af8ac145946b4a9627516ad4a711</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.0_r2.zip">android-sdk-
mac_x86-1
.0_r2.zip</a>
</td>
<td>93771410 bytes</td>
<td>87b99d5e9f59b78363a63200c11498e8</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.0_r2.zip">android-
sdk-
linux_x86-1.0_r2.zip</a>
</td>
<td>94186463 bytes</td>
<td>a1f3b6d854596f850f5008856d0f380e</td>
</tr>
</table>
<h2>Obsolete SDK Releases</h2>
<p>These tables provide Android SDK releases that have been superceded by
an active release (shown above) and that are now obsolete.</p>
<h3>Release 1.5 r2</h3>
<p><em>May 2009 - <a href="RELEASENOTES.html#1.5_r2">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.5_r2.zip">android-sdk-
windows-1 .5_r2.zip</a>
</td>
<td>178346828 bytes</td>
<td>ba54ac6bda45921d442b74b6de6ff6a9</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.5_r2.zip">android-sdk-
mac_x86-1 .5_r2.zip</a>
</td>
<td>169945128 bytes</td>
<td>f4e06a5194410243f213d0177713d6c9</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.5_r2.zip">android-
sdk- linux_x86-1.5_r2.zip</a>
</td>
<td>165035130 bytes</td>
<td>1d3c3d099e95a31c43a7b3e6ae307ed3</td>
</tr>
</table>
<h3>Release 1.5 r1</h3>
<p><em>April 2009 - <a href="RELEASENOTES.html#1.5_r1">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.5_r1.zip">android-sdk-
windows-1 .5_r1.zip</a>
</td>
<td>176263368 bytes</td>
<td>42be980eb2d3efaced01ea6c32c0045f</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.5_r1.zip">android-sdk-
mac_x86-1 .5_r1.zip</a>
</td>
<td>167848675 bytes</td>
<td>5b2a8d9f096032db4a75bfa0d689a51b</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.5_r1.zip">android-
sdk- linux_x86-1.5_r1.zip</a>
</td>
<td>162938845 bytes</td>
<td>2addfd315da0ad8b5bde6b09d5ff3b06</td>
</tr>
</table>
<h3>Release 1.0 r1</h3>
<p><em>September 23, 2008 - <a href="RELEASENOTES.html#1.0_r1">Release
Notes</a></em></p>
<table class="download">
<tr>
<th>Platform</th>
<th>Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-1.0_r1.zip">android-sdk-
windows-1 .0_r1.zip</a>
</td>
<td>89.7 MB bytes</td>
<td>d69f4ee93d4010f726c04302662fd999</td>
</tr>
<tr class="alt-color">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-1.0_r1.zip">android-sdk-
mac_x86-1 .0_r1.zip</a>
</td>
<td>87.5 MB bytes</td>
<td>564876ada22872e50c2866806de9fc5c</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-1.0_r1.zip">android-
sdk- linux_x86-1.0_r1.zip</a>
</td>
<td>87.8 MB bytes</td>
<td>2660b4029039b7d714e59827e9a9a11d</td>
</tr>
</table>
<h2>Non-Compatible SDK Releases</h2>
<!-- <div class="special"> -->
<p>The SDKs listed below are "early-look" versions that were released in
the year preceding the full release of Android 1.0 in September 2008. Because
these early-look SDKs were released before the Android 1.0 API specification was
finalized, they do not provide a compliant Android execution environment.
Consequently, applications that you develop in these SDKs will not be able to
run on any Android-powered devices.</p>
<p>If you have an older application that you built in one of the early-look
SDKs, you must migrate it to the Android 1.0 SDK (or later release) before you
will be able to deploy it to an Android-powered device. To help with this
migration, each SDK package below provides information about API changes from
the previous version. You can find the migration information in the
documentation included in each SDK package.</p>
<!-- </div> -->
<h4>Version 0.9 Beta</h4>
<p><em>August 18, 2008 - <a href="OLD_RELEASENOTES.html#0.9_beta">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-windows-0.9_beta.zip">
android-sdk-windows-0.9_beta.zip</a></td>
<td>93,126,573 bytes</td>
<td>305031ad8335d1b6040bdd5a65349d6d</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-mac_x86-0.9_beta.zip">
android-sdk-mac_x86-0.9_beta.zip</a></td>
<td>91,374,464 bytes</td>
<td>9a6969159091cede46302e11049fe3ca</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk-linux_x86-0.9_beta.zip"
>android-sdk-linux_x86-0.9_beta.zip</a></td>
<td>91,821,068 bytes</td>
<td>077e5ef549dd9c5be54bd88e6a8e196c</td>
</tr>
</table>
<h4>Version m5-rc15</h4>
<p><em>March 3, 2008 - <a href="OLD_RELEASENOTES.html#m5-rc15">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc15_windows.zip">
android-sdk_m5-rc15_windows.zip</a></td>
<td>79 MB</td>
<td>ecce40bc50201886d95ba2690cdbc5ce</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc15_mac-x86.zip">
android-sdk_m5-rc15_mac-x86.zip</a></td>
<td>76 MB</td>
<td>45a6385bbc1b2cb295409cfc81fb04b4</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc15_linux-x86.zip">
android-sdk_m5-rc15_linux-x86.zip</a></td>
<td>76 MB</td>
<td>e913f785afecdeed34c30639fd8c5862</td>
</tr>
</table>
<h4>Version m5-rc14</h4>
<p><em>February 12, 2008 - <a href="OLD_RELEASENOTES.html#m5-rc14">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc14_windows.zip">
android-sdk_m5-rc14_windows.zip</a></td>
<td>79 MB</td>
<td>ecc75c1e69588350634ca25867ce05a0</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc14_mac-x86.zip">
android-sdk_m5-rc14_mac-x86.zip</a></td>
<td>76 MB</td>
<td>844c80d0adb1a326f5a9fff262c61efc</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android-sdk_m5-rc14_linux-x86.zip">
android-sdk_m5-rc14_linux-x86.zip</a></td>
<td>76 MB</td>
<td>f8b863c8a880afe9bb84124f5976aab1</td>
</tr>
</table>
<h4>Version m3-rc37a</h4>
<p><em>December 14, 2007 - <a href="OLD_RELEASENOTES.html#m3-rc37a">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_windows_m3-rc37a.zip">
android_sdk_windows_m3-rc37a.zip</a></td>
<td>58 MB</td>
<td>5db5aea20a2c2f010baefc4b1091a575</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_darwin_m3-rc37a.zip">
android_sdk_darwin_m3-rc37a.zip</a></td>
<td>54 MB</td>
<td>0b22e73fbd07b4af4009387afce3a37f</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_linux_m3-rc37a.zip">
android_sdk_linux_m3-rc37a.zip</a></td>
<td>54 MB</td>
<td>41285beecc4f9926e6ecf5f12610b356</td>
</tr>
</table>
<h4>Version m3-rc22a</h4>
<p><em>November 16, 2007 - <a href="OLD_RELEASENOTES.html#m3-rc22a">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_windows_m3-rc22a.zip">
android_sdk_windows_m3-rc22a.zip</a></td>
<td>59 MB</td>
<td>aa3dee05a9872752a3bc4efd0f93e98b</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_darwin_m3-rc22a.zip">
android_sdk_darwin_m3-rc22a.zip</a></td>
<td>55 MB</td>
<td>0547f45614ad94c3af22c3c0aa6f709f</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_linux_m3-rc22a.zip">
android_sdk_linux_m3-rc22a.zip</a></td>
<td>55 MB</td>
<td>84b3455de5cdfd841a172c13d24c382e</td>
</tr>
</table>
<h4>Version m3-rc20a</h4>
<p><em>November 12, 2007 - <a href="OLD_RELEASENOTES.html#m3-rc20a">Release Notes</a></em></p>
<table>
<tr>
<th colspan="2">Package</th>
<th>Size</th>
<th>MD5 Checksum</th>
</tr>
<tr>
<td>Windows</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_windows_m3-rc20a.zip">
android_sdk_windows_m3-rc20a.zip</a></td>
<td>59 MB</td>
<td>a404b875708df7339ba77bdf2e08dc06</td>
</tr>
<tr class="alt">
<td>Mac OS X (intel)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_darwin_m3-rc20a.zip">
android_sdk_darwin_m3-rc20a.zip</a></td>
<td>55 MB</td>
<td>8fc29aeaa45eda84bfac854ebd02a6da</td>
</tr>
<tr>
<td>Linux (i386)</td>
<td>
<a
href="{@docRoot}sdk/download.html?v=archives/android_sdk_linux_m3-rc20a.zip">
android_sdk_linux_m3-rc20a.zip</a></td>
<td>55 MB</td>
<td>9196759df9b69cd89a220b156f133364</td>
</tr>
</table>

View File

@@ -1,172 +0,0 @@
page.title=Google USB Driver
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
<li><a href="#notes">Revisions</a></li>
<li><a href="#WinUsbDriver">Downloading the Google USB Driver</a></li>
</ol>
<h2>See also</h2>
<ol>
<li><a href="{@docRoot}tools/extras/oem-usb.html#InstallingDriver">Installing a USB Driver</a></li>
<li><a href="{@docRoot}tools/device.html">Using Hardware Devices</a></li>
<li><a href="{@docRoot}sdk/exploring.html">Exploring the SDK</a></li>
</ol>
</div>
</div>
<p>The Google USB driver is a downloadable component for the Android SDK, available
from the SDK Manager. The driver is for Windows only and provides the necessary drivers for the
following devices:</p>
<ul>
<li>ADP1 / T-Mobile G1*</li>
<li>ADP2 / Google Ion / T-Mobile myTouch 3G*</li>
<li>Verizon Droid*</li>
<li>Nexus One</li>
<li>Nexus S</li>
</ul>
<p>* <em>Or similar hardware on other carriers</em></p>
<p>All other devices require Windows drivers provided by the hardware manufacturer, as listed in
the <a href="{@docRoot}tools/extras/oem-usb.html">OEM USB Drivers</a> document. The Galaxy Nexus
driver is also distributed by <a
href="http://www.samsung.com/us/support/downloads/verizon-wireless/SCH-I515MSAVZW">Samsung</a>
(listed as model SCH-I515).</p>
<p class="note"><strong>Note:</strong>
If you're developing on Mac OS X or Linux, then you do not need to install a USB driver. To start
developing with your device, also read <a href="{@docRoot}tools/device.html">Using
Hardware Devices</a>.</p>
<p>The sections below provide instructions on how to download and install the Google USB Driver
for Windows. </p>
<h2 id="notes">Revisions</h2>
<p>The sections below provide notes about successive revisions of the USB Driver
for Windows, as denoted by revision number. To determine what revision of the
USB Driver for Windows you are using, refer to the "Installed Packages" listing
in the Android SDK Manager.</p>
<script type="text/javascript">
function toggleDiv(link) {
var toggleable = $(link).parent();
if (toggleable.hasClass("closed")) {
//$(".toggleme", toggleable).slideDown("fast");
toggleable.removeClass("closed");
toggleable.addClass("open");
$(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
} else {
//$(".toggleme", toggleable).slideUp("fast");
toggleable.removeClass("open");
toggleable.addClass("closed");
$(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
}
return false;
}
</script>
<style>
.toggleable {
padding: .25em 1em;
}
.toggleme {
padding: 1em 1em 0 2em;
line-height:1em;
}
.toggleable a {
text-decoration:none;
}
.toggleme a {
text-decoration:underline;
}
.toggleable.closed .toggleme {
display:none;
}
#jd-content .toggle-img {
margin:0;
}
</style>
<div class="toggleable opened">
<a href="#" onclick="return toggleDiv(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px"
width="9px" />
USB Driver for Windows, Revision 4</a> <em>(December 2010)</em>
<div class="toggleme">
<dl>
<dt><p>Adds support for the Nexus S.</p></dt>
</dl>
</div>
</div>
<div class="toggleable closed">
<a href="#" onclick="return toggleDiv(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
width="9px" />
USB Driver for Windows, Revision 3</a> <em>(January 2010)</em>
<div class="toggleme">
<dl>
<dt><p>Adds support for the Nexus One.</p></dt>
</dl>
</div>
</div>
<div class="toggleable closed">
<a href="#" onclick="return toggleDiv(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
USB Driver for Windows, Revision 2</a> <em>(November 2009)</em>
<div class="toggleme">
<dl>
<dt><p>Adds support for the Verizon Droid (or similar hardware on
other carriers).</p></dt>
</dl>
</div>
</div>
<div class="toggleable closed">
<a href="#" onclick="return toggleDiv(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
USB Driver for Windows, Revision 1</a> <em>(October 2009)</em>
<div class="toggleme">
<dl>
<dt><p>Initial release of the WinUsb-based driver, with support
for the T-Mobile G1 and myTouch 3G (and similar devices).</p></dt>
</dl>
</div>
</div>
<h2 id="WinUsbDriver">Downloading the Google USB Driver</h2>
<div class="figure" style="width:536px;margin:0">
<img src="{@docRoot}images/developing/sdk-usb-driver.png" alt="" />
<p class="img-caption"><strong>Figure 1.</strong> The SDK Manager
with the Google USB Driver selected.</p>
</div>
<p>The USB Driver for Windows is available for download as an optional SDK
component. You need the driver only if you are developing on Windows and
want to connect an Android-powered device (ADP, Nexus One, or Nexus S) to your
development environment over USB. </p>
<p>To download the driver, use the Android SDK Manager tool that is
included with the <a href="{@docRoot}sdk/index.html">Android SDK</a>:</p>
<ol>
<li>Launch the Android SDK Manager by double-clicking <code>SDK Manager.exe</code>,
at the root of your SDK directory.</li>
<li>Expand <em>Extras</em>.</li>
<li>Check <strong>Google USB Driver package</strong> and click <strong>Install</strong>.</li>
<li>Proceed to install the package. When done, the driver files are
downloaded into the <code>&lt;sdk&gt;\extras\google\usb_driver\</code> directory.</li>
</ol>
<p>For installation information, read <a href="{@docRoot}tools/extras/oem-usb.html#InstallingDriver">Installing a USB Driver</a>.</p>