diff --git a/Android.mk b/Android.mk
index 8ed8a16b..5d4c5c1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -383,8 +383,8 @@
 ## Latest ADT version identifiers, for reference from published docs
 framework_docs_ADT_VERSION:=0.9.4
 framework_docs_ADT_DOWNLOAD:=ADT-0.9.4.zip
-framework_docs_ADT_BYTES:=0
-framework_docs_ADT_CHECKSUM:=0
+framework_docs_ADT_BYTES:=3367536
+framework_docs_ADT_CHECKSUM:=4cdecd72b3e28022d8a55891f13e7d43
 
 framework_docs_LOCAL_DROIDDOC_OPTIONS += \
 		-hdf sdk.version $(framework_docs_SDK_VERSION) \
diff --git a/docs/html/guide/appendix/api-levels.jd b/docs/html/guide/appendix/api-levels.jd
index 3f3b6c6..b3b6371 100644
--- a/docs/html/guide/appendix/api-levels.jd
+++ b/docs/html/guide/appendix/api-levels.jd
@@ -119,7 +119,8 @@
 <li><code>android:targetSdkVersion</code> &mdash; Specifies the API Level
 on which the application is designed to run. In some cases, this allows the
 application to use manifest elements or behaviors defined in the target
-API Level, rather than those in the minimum API Level.</li>
+API Level, rather than being restricted to using only those defined 
+for the minimum API Level.</li>
 <li><code>android:maxSdkVersion</code> &mdash; Specifies the maximum API Level
 on which the application is able to run.</li>
 </ul>
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 09347a6..1d16d88 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -61,9 +61,7 @@
 your application for proper display on new devices that offer different screens
 and that are running Android 1.6 or later. In most cases, only minor adjustments
 are needed, however you should make sure to <a href="#testing">test your
-application</a> on all of the new screens supported in Android 1.6. 
-
-<!--See <a href="#migrating">Migrating</a> for strategies e you can continue using the previous API level and use target API level, or you can just compile. --></p>
+application</a> on all supported screens. </p>
 
 <p>In particular, if you have an existing application that you would like to
 make available for users of devices with small screens (such as QVGA), please
@@ -73,7 +71,11 @@
 
 <h2 id="overview">Overview of Screens Support</h2>
 
-<p>The sections below provide an overview of the Android platform's support for multiple screens, including an introduction to terms and concepts used in this document and in the API, a summary of the screen configurations that the platform supports, and an overview of the API and underlying screen-compatibility features.</p>
+<p>The sections below provide an overview of the Android platform's support for
+multiple screens, including an introduction to terms and concepts used in this
+document and in the API, a summary of the screen configurations that the
+platform supports, and an overview of the API and underlying
+screen-compatibility features.</p>
 
 
 <h3>Terms and Concepts</h3>
@@ -462,7 +464,7 @@
 
 <h3 id="attrs">Manifest attributes for screens support</h3>
 
-<p> Android 1.6 introduces a new manifest element, 
+<p> Android 1.6 introduced a new manifest element, 
 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>,
 whose attributes you can use to control the
 display of your application on different classes of device screens, as listed
@@ -631,8 +633,8 @@
 
 <h3 id="qualifiers">Resource directory qualifiers for screen size and density</h3>
 
-<p>Android 1.6 supports new resource directory qualifiers for selecting
-resources based on the characteristics of the screen on which your application
+<p>Android supports resource directory qualifiers for controlling the selection
+of resources based on the characteristics of the screen on which your application
 is running. You can use these qualifiers to provide size- and density-specific
 resources in your application. For more information about the generalized sizes
 and densities that correspond to the qualifiers, see <a href="#range">Table
@@ -693,14 +695,14 @@
 </tr>
 <tr>
 <td>Platform version</td>
-<td><code>v4</code></td>
-<td>Resources that are for use only on Android 1.6 (API Level 4) or higher
-platform versions. If your application is designed to run on both Android 1.5
-(or lower) and Android 1.6 (and higher), you can use this qualifier to tag
-resources that should be excluded when your application is running on Android
-1.5 or earlier. Using this qualifier is necessary in some cases, if the older
-platform is inadvertently loading resources from an Android 1.6 resources
-directory. </td>
+<td><nobr><code>v&lt;api-level&gt;</code></nobr></td>
+<td>Resources that are for use only on a specific API Level or higher. For
+example, if your application is designed to run on both Android 1.5 (API Level
+3) and Android 1.6 (API Level 4 and higher), you can use the <code>-v4</code>
+qualifier to tag any resources that should be excluded when your application is
+running on Android 1.5 (API Level 3). Using the version qualifier is necessary
+in some cases, if the older platform is inadvertently loading resources from a
+directory containing resources for a newer platform. </td>
 </tr>
 </table>
 
@@ -975,8 +977,8 @@
 <code>android:minSdkVersion</code> attribute as it is. You <em>do not</em> need
 to increment the value of the attribute to support new devices and multiple
 screens. </li>
-  <li>Extend compatibility for Android 1.6 devices by adding a new attribute
-&mdash; <code>android:targetSdkVersion</code> &mdash; to the
+  <li>Extend compatibility for Android 1.6 (and higher) devices by adding 
+a new attribute &mdash; <code>android:targetSdkVersion</code> &mdash; to the
 <code>uses-sdk</code> element. Set the value of the attribute to
 "<code>4</code>". This allows your application to "inherit" the platform's
 multiple screens support, even though it is technically using an earlier version
@@ -988,11 +990,12 @@
 the Android 1.6 (API Level 4) library, rather than against the Android 1.5 (or
 earlier) library. You will not be able to compile your application against the
 older platform because of the new manifest attribute. </li>
-  <li>Set up AVDs for testing your application on Android 1.6. Create AVDs that
-use the screen sizes and densities that you want to support. When you create the
-AVDs, make sure to select the Android 1.6 platform as the system image to run.
-For more information, see <a href="#testing">How to Test Your Application on
-Multiple Screens</a>, below.</li>
+  <li>Set up AVDs for testing your application on Android 1.6 and higher
+releases. Create AVDs that use the screen sizes and densities that you want to
+support. When you create the AVDs, make sure to select the Android 1.6 or higher
+platform as the system image to run. For more information, see <a
+href="#testing">How to Test Your Application on Multiple Screens</a>,
+below.</li>
   <li>Set up AVDs for testing your application on Android 1.5 (or earlier
 platform). You need AVDs running the older platforms you are targeting, so that
 you can test for compatibility and ensure that there are no functional
@@ -1018,10 +1021,11 @@
 <a href="{@docRoot}guide/topics/resources/resources-i18n.html#AlternateResources">
 Alternate Resources</a> for more information. </li>
     <li>Note that if you add size- or density-specific resource directories
-tagged with any of the Android 1.6 qualifiers listed in this document, you
-should make sure to also tag those directories with the <code>v4</code>
-qualifier. This ensures that those resources will be ignored when the
-application is run on Android 1.5 or lower platform versions.</p></li>
+tagged with any of the resource qualifiers listed in this document, you should
+make sure to also tag those directories with the <code>v&lt;api-level&gt;</code>
+qualifier (for example, <code>-v4</code>). This ensures that those resources
+will be ignored when the application is run on Android 1.5 or lower platform
+versions.</p></li>
     </ul>
   </li>
   <li>If your application does not offer support (such as custom layouts) for
@@ -1074,14 +1078,20 @@
 <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
 Devices</a>.</p>
 
-<p>The Android 1.6 SDK includes these emulator skins, which represent the
-primary screen configurations that your should test:</p>
+<p>The Android 1.6 and higher platforms in the SDK include these emulator skins,
+which represent the primary screen configurations that your should test:</p>
 
 <ul>
   <li>
     QVGA (240x320, low density, small screen)
   </li>
   <li>
+    WQVGA400 (240x400, low density, normal screen)
+  </li>
+  <li>
+    WQVGA432 (240x432, low density, normal screen)
+  </li>
+  <li>
     HVGA (320x480, medium density, normal screen)
   </li>
   <li>
diff --git a/docs/html/guide/tutorials/localization/index.jd b/docs/html/guide/tutorials/localization/index.jd
index d31eb10..eeade34 100755
--- a/docs/html/guide/tutorials/localization/index.jd
+++ b/docs/html/guide/tutorials/localization/index.jd
@@ -539,9 +539,8 @@
 <p><img src="{@docRoot}images/hello_l10n/using_custom_locale.png" alt="using custom locale"
 width="512" height="299" style="margin-left:15px"></p>
 
-<p>For a list of supported locales, see the 
-<a href="{@docRoot}sdk/android-{@sdkCurrentVersion}.html">Android
-Version Notes</a>.</p>
+<p>For a list of supported locales in a specific Android platform, see the 
+associated notes in the "SDK" tab, under "Downloadable SDK Components."</p>
 
 <p>Run the application for each of the expected locales, plus one unexpected
 locale. Here are some of the results you should see:</p>
diff --git a/docs/html/sdk/adding-components.jd b/docs/html/sdk/adding-components.jd
index d4152e1..967c3521 100644
--- a/docs/html/sdk/adding-components.jd
+++ b/docs/html/sdk/adding-components.jd
@@ -55,7 +55,7 @@
 <h2 id="InstallingComponents">Installing SDK Components</h2>
 
 <p>Use the Android SDK and AVD Manager to install new SDK components. 
-To launch the SDK and AVD Manager in one of these ways:</p>
+You can launch the SDK and AVD Manager in one of these ways:</p>
 <ul>
   <li>Execute the {@code android}</a> tool command with no options. If you
 haven't used the tool before, change to the <code>&lt;sdk&gt;/tools</code>
@@ -95,12 +95,13 @@
 
 <h3 id="AddingSites">Adding New Sites</h3>
 
-<p>By default, <strong>Available Components</strong> only shows 
-the default repository for platforms, the Google APIs
-Add-On, and other SDK components. You can add additional sites that host
-Android SDK add-ons, then download the SDK add-ons from them.</p>	
+<p>By default, <strong>Available Components</strong> only shows the default
+repository site, which offers platforms, SDK tools, documentation, the 
+Google APIs Add-on, and other components. You can add other sites that host 
+their own Android SDK add-ons, then download the SDK add-ons
+from those sites.</p>	
 
-<p>For example, a mobile carrier or device manufacturer may offer additional
+<p>For example, a mobile carrier or device manufacturer might offer additional
 API libraries that are supported by their own Android-powered devices. In order
 to develop using their libraries, you must install their Android SDK add-on. </p>
 
diff --git a/docs/html/sdk/adt-notes.jd b/docs/html/sdk/adt-notes.jd
index 18c144e..639d5e8 100644
--- a/docs/html/sdk/adt-notes.jd
+++ b/docs/html/sdk/adt-notes.jd
@@ -48,8 +48,8 @@
 <ul>
 <li>Includes the improvements from the standlone DDMS, revision 3.</li>
 <li>Adds an option to open HPROF files into eclipse instead of writing them on
-disk. If a profiler such as MAT (Memory Analyzer Tool http://eclipse.org/mat) is
-installed, it'll open the file.</li>
+disk. If a profiler such as MAT (<a href="http://eclipse.org/mat">Memory Analyzer 
+Tool</a>) is installed, it'll open the file.</li>
 </ul>
 
 <h3>Android SDK and AVD Manager integration</h3>
diff --git a/docs/html/sdk/android-1.5.jd b/docs/html/sdk/android-1.5.jd
index 1e4c51b..15d1938 100644
--- a/docs/html/sdk/android-1.5.jd
+++ b/docs/html/sdk/android-1.5.jd
@@ -101,8 +101,9 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that will be available in the Android {@sdkPlatformVersion} system image are listed
-below (with <em>language</em>_<em>country/region</em> locale descriptor).</p>
+languages that are available in the Android {@sdkPlatformVersion} system 
+image are listed below (with <em>language</em>_<em>country/region</em> 
+locale descriptor).</p>
 
 <table style="border:0;padding-bottom:0;margin-bottom:0;">
 <tr>
@@ -144,7 +145,7 @@
 <p>Localized UI strings match the locales that are accessible 
 through Settings.</p>
 
-<h2 id="api-changes">Emulator Skins</h2>
+<h2 id="skins">Emulator Skins</h2>
 
 <p>The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are: </p>
 
@@ -184,8 +185,8 @@
 the system, prior to installing the application. </p>
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
-set the proper value, "{@sdkPlatformApiLevel}", in the <code>&lt;uses-sdk&gt;</code> attributes in your 
-application's manifest. </p>
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+element in your application's manifest. </p>
 
 <p>For more information about how to use API Level, see the <a
 href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
diff --git a/docs/html/sdk/android-1.6.jd b/docs/html/sdk/android-1.6.jd
index 0f8a4b6..38112b5 100644
--- a/docs/html/sdk/android-1.6.jd
+++ b/docs/html/sdk/android-1.6.jd
@@ -102,8 +102,9 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that will be available in the Android {@sdkPlatformVersion} system image are listed
-below (with <em>language</em>_<em>country/region</em> locale descriptor).</p>
+languages that are available in the Android {@sdkPlatformVersion} system 
+image are listed below (with <em>language</em>_<em>country/region</em> 
+locale descriptor).</p>
 
 <table style="border:0;margin-bottom:0;padding-bottom:0;">
 <tr>
@@ -145,7 +146,7 @@
 <p>Localized UI strings match the locales that are accessible 
 through Settings.</p>
 
-<h2 id="api-changes">Emulator Skins</h2>
+<h2 id="skins">Emulator Skins</h2>
 
 <p>The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are: </p>
 
@@ -182,8 +183,8 @@
 the system, prior to installing the application. </p>
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
-set the proper value, "{@sdkPlatformApiLevel}", in the <code>&lt;uses-sdk&gt;</code> attributes in your 
-application's manifest. </p>
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+element in your application's manifest. </p>
 
 <p>For more information about how to use API Level, see the <a
 href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
@@ -210,7 +211,9 @@
 correct scaling. The framework will automatically scale bitmaps and
 nine-patches based on the density the resource was found under and the
 density of the screen, etc.
-      </li>
+      </li><p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+element in your application's manifest. </p>
     </ul>
 
 <h4>Search framework</h4>
diff --git a/docs/html/sdk/android-2.0.jd b/docs/html/sdk/android-2.0.jd
index 5660844..57283e5 100644
--- a/docs/html/sdk/android-2.0.jd
+++ b/docs/html/sdk/android-2.0.jd
@@ -101,8 +101,9 @@
 <p>The system image included in the downloadable platform provides a variety of
 built-in locales. In some cases, region-specific strings are available for the
 locales. In other cases, a default version of the language is used. The
-languages that will be available in the Android 1.6 system image are listed
-below (with <em>language</em>_<em>country/region</em> locale descriptor).</p>
+languages that are available in the Android {@sdkPlatformVersion} system 
+image are listed below (with <em>language</em>_<em>country/region</em> locale 
+descriptor).</p>
 
 <table style="border:0;padding-bottom:0;margin-bottom:0;">
 <tr>
@@ -144,7 +145,7 @@
 <p>Localized UI strings match the locales that are accessible 
 through Settings.</p>
 
-<h2 id="api-changes">Emulator Skins</h2>
+<h2 id="skins">Emulator Skins</h2>
 
 <p>The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are: </p>
 
@@ -198,8 +199,8 @@
 the system, prior to installing the application. </p>
 
 <p>To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to 
-set the proper value, "{@sdkPlatformApiLevel}", in the <code>&lt;uses-sdk&gt;</code> attributes in your 
-application's manifest. </p>
+set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <code>&lt;uses-sdk&gt;</code> 
+element in your application's manifest. </p>
 
 <p>For more information about how to use API Level, see the <a
 href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
@@ -232,22 +233,7 @@
 
 <h4>WebView</h4>
 <ul>
-<li>HTML5 support:
-  <ul>
-  <li>Database API support, for client-side databases using SQL.</li>
-  <li>Application cache support, for offline applications.</li>
-  <li>Geolocation API support, to provide location information about the device.</li>
-  <li>&lt;video&gt; tag support in Fullscreen mode.</li>
-  </ul>
-</li>
-<li>Deprecated Gears; HTML5 database APIs now supported instead.</li>
 <li>Deprecated classes: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.</li>
-<li>DPI support for WebView
-  <ul>
-  <li>In viewport meta tag, target-densityDpi can be specified to control the default zoom.</li>
-  <li>&lt;meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,target-densityDpi=device-dpi"/&gt; will ensure the page to be loaded with 100% on any dpi devices.</li>
-  </ul>
-</li>
 </ul>
 
 <h4>Camera</h4>
diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd
index ba095e0..84d37e0 100644
--- a/docs/html/sdk/eclipse-adt.jd
+++ b/docs/html/sdk/eclipse-adt.jd
@@ -265,20 +265,6 @@
 href="#uninstalling">Uninstalling the ADT Plugin</a>, below, and then follow the guide to <a
 href="#installing">Installing the ADT Plugin</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="uninstalling">Uninstalling the ADT plugin</h2>
 
diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd
index 1db075c..8b918e4 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -47,33 +47,25 @@
 
 <p><strong>2. Install the ADT Plugin for Eclipse</strong></p>
 
-<p>If you are developing in Eclipse, set up a remote update site and install the Android Development Tools (ADT) plugin. The ADT plugin adds powerful extensions to the Eclipse IDE that help you to create and debug Android applications more easily and faster. If you use Eclipse, ADT gives you an incredible boost in developing Android 
-applications. </p>
+<p>If you are developing in Eclipse, set up a remote update site and install the Android Development Tools (ADT) plugin.</p>
 
 <p>For detailed instructions, see <a href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT</a>.</p>
 
-<p><strong>3. Download one or more Android platforms</strong></p>
+<p><strong>3. Add Android platforms to your SDK</strong></p>
 
-<p>To develop an application, you need to download at least one Android platform component and install it into your SDK. 
+<p>Use the Android SDK and AVD Manager, included in the SDK starter package, to add one or more Android platforms (for example, Android 1.6 or Android 2.0) to your SDK. In most cases, you will want to download multiple platforms, so that you can build your application on the lowest version you want to support, but test against higher versions that you intend the application to run on. Information about each platform is available at left, under "Downloadable SDK Components."</p>
 
-<p>Each downloadable platform includes an Android library and system image, as well as emulator skins, sample code and applications, and more. In most cases, you will want to download multiple platforms into your SDK, so that you can build your application on the minimum version you want to support, but test it against higher versions that you intend the application to run on.</p>
+<p>For more information about how to add platforms and other SDK components, see <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.</p>
 
-<p>While you are downloading platforms, make sure to download the latest documentation package. The documentation covers all versions of the API and lets you filter out those versions that your application won't support. </p>
+<p><strong>4. Get the latest documentation</strong></p>
 
-<p>To download platforms or any other SDK component, use the Android SDK and AVD Manager tool, included in the SDK starter package. For more information, see <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>. Detailed information about individual platforms and other components are provided in the navigation bar at left, under "Downloadable SDK Components."</p>
+<p>If you develop while offline, use the Android SDK and AVD Manager to download the latest documentation package. The documentation covers all versions of the API and lets you filter out those versions that your application won't support. Once installed, the documentation is also available to you directly from the Eclipse IDE. </p>
 
+<p><strong>5. Download other SDK components</strong></p>
 
+<p>You can use the Android SDK and AVD Manager to download other SDK components, such as the SDK add-ons. An SDK add-on provides a development environment for an Android external library or a customized Android system image. For example, the Google APIs Add-On lets you develop an application that takes advantage of the Google Maps external library. </p>
 
-<p><strong>4. Download other SDK components</strong></p>
-
-<p>In addition to Android platforms, you can also download SDK add-ons and a local version of the Android developer documentation to your SDK environment. </p>
-
-<p>An SDK add-on provides a development environment for an Android external
-library or a customized (but fully compliant) Android system image. You can install an add-on if you want to make use of its external library in your application. For example, the Google APIs Add-On lets you develop an application that takes advantage of the Google Maps external library. </p>
-
-<p>Use the Android SDK and AVD Manager tool to download add-ons and other components into your SDK. </p>
-
-<p><strong>5. Get started with an application project</strong></p>
+<p><strong>6. Get started with an application project</strong></p>
 
 <p>Once you've set up your SDK, the next step is to start a new application project or move existing applications into the new SDK.</p>
 
diff --git a/docs/html/sdk/installing.jd b/docs/html/sdk/installing.jd
index e4fbfa0..f4d28b3 100644
--- a/docs/html/sdk/installing.jd
+++ b/docs/html/sdk/installing.jd
@@ -12,7 +12,7 @@
     <li><a href="#Installing">Install the SDK</a></li>
     <li><a href="#InstallingADT">Install the ADT Plugin for Eclipse</a></li>
     <li><a href="#components">Add Platforms and Other SDK Components</a></li>
-    <li><a href="#sdkContents">SDK Contents</a></li>
+    <li><a href="#sdkContents">Explore the SDK</a></li>
     <li><a href="#NextSteps">Next Steps</a></li>
     <li><a href="#troubleshooting">Troubleshooting</a></li>
   </ol>
@@ -65,9 +65,9 @@
 <h2 id="Installing">Download and Install the SDK</h2>
 
 <p>Download the SDK package that is appropriate for your development computer.
-Unpack the Android SDK .zip archive to a suitable location on your machine. By
+Unpack the Android SDK archive to a suitable location on your machine. By
 default, the SDK files are unpacked into a directory named
-<code>android_sdk</code>. </p>
+<code>android-sdk-&lt;machine-platform&gt;</code>. </p>
 
 <p>Make a note of the name and location of the unpacked SDK directory on your
 system &mdash; you will need to refer to the SDK directory later, when setting
@@ -99,9 +99,6 @@
   <code>tools/</code> directory to the path. </li>
   </ul>
 
-<p>Note that, if you update your SDK in the future, you 
-should remember to update your <code>PATH</code> settings to point to the new location, if different.</p>
-
 <p>If you will be using the Eclipse IDE as your development environment,
 the next section describes how to install the Android Development Tools (ADT) plugin and set up Eclipse. 
 If you choose not to use Eclipse, you can 
@@ -126,14 +123,16 @@
 
 <p>If you prefer to work in an IDE other than Eclipse, you do not need to
 install Eclipse or ADT, instead, you can directly use the SDK tools to build and
-debug your application &mdash; skip to <a href="#NextSteps">Next Steps</a>.)</p>
+debug your application.</p>
 
 <h2 id="components">Add Android Platforms and Other Components</h2>
 
 <p>Once you've downloaded and installed the SDK, you need to install SDK
 components in it. The SDK starter package includes a tool called Android SDK and
-AVD Manager to help you see what components are available and then install them
-into your SDK environment.</p>
+AVD Manager that helps you see what SDK components are available and then install 
+them into your SDK environment. The <a 
+href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a> document 
+provides step-by-step instructions.</p>
 
 <p>There are several types of SDK components available:</p>
 
@@ -164,32 +163,26 @@
 </li>
 </ul>
 
-<p>For information about how to use the Android SDK and AVD Manager to download
-any of these components into your SDK, see the instructions in </p>
-<p style="margin-left:2em;"><a
-href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>. </p>
-
-<p>To develop an application, you <strong>must download at least one Android
-platform</strong> into your SDK. Typically, you will want to download multiple
-platforms, including the version that you want to develop against and all other
-higher platforms. By downloading multiple platforms, you can test the
-forward-compatibility of your application by running it on different platforms
-in the Android emulator. </p>
-
-<p class="note"><strong>Note:</strong> To get started with any application, even
-if you are following the <a
+<p>To develop any application, even if you are following the <a
 href="{@docRoot}guide/tutorials/hello-world.html">Hello World</a> tutorial, you
-must download at least one Android platform into your SDK. For instructions, see
-<a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></p>
+<strong>must download at least one Android platform</strong> into your SDK.
+Typically, you will want to download multiple platforms, including the version
+that you want to develop against and all other higher platforms. By downloading
+multiple platforms, you can test the forward-compatibility of your application
+by running it on different platforms in the Android emulator. </p>
+
+<p>For more information about adding components and additional repository sites,
+see the <a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a>.
+</p>
 
 
-<h2 id="sdkContents">Contents of the SDK</h2>
+<h2 id="sdkContents">Explore the SDK</h2>
 
 <p>Once you've installed the SDK and downloaded the platforms, documentation,
 and add-ons that you need, open the SDK directory and take a look at what's
 inside.</p>
 
-<p>The table below describes the full SDK directory contents, with all components 
+<p>The table below describes the full SDK directory contents, with components 
 installed. </p>
 
 <table>
@@ -205,7 +198,8 @@
 <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.</td>
+API Reference, and other information. To read the documentation, load the 
+file <code>offline.html</code> in a web browser.</td>
 </tr>
 <tr>
 <td colspan="3"><code>platforms/</code></td>
@@ -272,15 +266,21 @@
 as the emulator, the <code>android</code> tool, adb, ddms, and more.</td>
 </tr>
 <tr>
-<td colspan="3"><code>RELEASE_NOTES.html</code></td>
-<td>A file that loads the local version of the SDK release notes, if
-available.</td>
+<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 and AVD Manager tool on all 
+platforms</td>
 </tr>
 <tr>
+<td colspan="3"><code>SDK Setup.exe</code></td>
+<td>For Windows SDK only. A shortcut that launches the Android SDK and AVD 
+Manager tool, which you use to add components 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>
+</tr>-->
 
 </table>
 
