summaryrefslogtreecommitdiffstats
path: root/docs/html/tools
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/tools')
-rw-r--r--docs/html/tools/debugging/debugging-ui.jd4
-rw-r--r--docs/html/tools/device.jd16
-rw-r--r--docs/html/tools/extras/oem-usb.jd11
-rw-r--r--docs/html/tools/help/adb.jd1091
-rw-r--r--docs/html/tools/help/uiautomator/index.jd5
-rw-r--r--docs/html/tools/publishing/app-signing.jd24
-rw-r--r--docs/html/tools/sdk/eclipse-adt.jd57
-rw-r--r--docs/html/tools/sdk/images/2.0/camera-modes.pngbin87824 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.0/email-inbox.pngbin38766 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.0/mms-search.pngbin12842 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.0/multiple-accounts.pngbin39122 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.0/quick-connect.pngbin30379 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22browser.pngbin126458 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22exchange.pngbin113049 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22gallery.pngbin146789 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22home.pngbin146759 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22hotspot.pngbin50561 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/22keyboard.pngbin41355 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.2/jit-graph.pngbin11990 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/ffc.pngbin311628 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/home-menu.pngbin278552 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/home-plain.pngbin428133 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/nfc.pngbin27547 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/onetouch.pngbin43272 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/power.pngbin62788 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/running.pngbin72197 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/selection.pngbin30206 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/2.3/sipcall.pngbin34554 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/browser.pngbin73398 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/browser_full.pngbin751808 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/camera.pngbin81122 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/camera_full.pngbin870501 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/contacts.pngbin15102 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/contacts_full.pngbin126300 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/copy.pngbin21333 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/copy_full.pngbin97476 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/home_hero1.pngbin158528 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/home_hero1_full.pngbin798511 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/homescreen_cust_port.pngbin84171 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/homescreen_cust_port_full.pngbin675192 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/mail_drag.pngbin25096 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/mail_drag_full.pngbin126694 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/tasks.pngbin76666 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/tasks_full.pngbin753902 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.0/widgets.pngbin236461 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.1/controls.pngbin103866 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.1/home.pngbin142023 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.1/home_full.pngbin624953 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.1/resizeable.pngbin64928 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/3.1/tasks.pngbin136355 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/allapps-lg.pngbin167249 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/allapps.pngbin26073 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/bbench.pngbin9161 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/beam-lg.pngbin121355 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/beam-maps-lg.pngbin175873 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/beam-maps.pngbin23063 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/beam.pngbin17497 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/browser-lg.pngbin212370 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/browser-tabs-lg.pngbin230345 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/browser-tabs.pngbin27626 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/browser.pngbin29700 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/calendar-widget-lg.pngbin191944 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/calendar-widget.pngbin28184 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/camera-lg.pngbin360317 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/camera.pngbin48868 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-call-lg.pngbin206397 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-call.pngbin29626 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-connect-lg.pngbin185666 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-connect.pngbin27749 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-email-lg.pngbin106147 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-email.pngbin22350 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-faves-lg.pngbin280921 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/contact-faves.pngbin36503 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/face-unlock-lg.pngbin228900 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/face-unlock.pngbin148069 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/gallery-edit-lg.pngbin360693 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/gallery-edit.pngbin43068 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/gallery-share-lg.pngbin340002 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/gallery-share.pngbin46363 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/gallery-widget.pngbin268739 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/home-lg.pngbin290279 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/home.pngbin51314 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/live-effects.pngbin64701 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/lock-camera-lg.pngbin185967 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/lock-camera.pngbin26512 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/lock-lg.pngbin235618 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/lock.pngbin30920 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/quick-responses-lg.pngbin125876 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/quick-responses.pngbin20648 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/screenshot-lg.pngbin572192 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/screenshot.pngbin62111 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/tasks-lg.pngbin335903 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/tasks.pngbin43450 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/text-replace-lg.pngbin114302 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/text-replace.pngbin19053 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/tts-lg.pngbin121886 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/tts.pngbin27595 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/usage-all-lg.pngbin83625 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/usage-all.pngbin17602 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/usage-maps-lg.pngbin92558 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/4.0/usage-maps.pngbin19163 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/battery.pngbin22208 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/camera.pngbin47444 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/donut_small_bg.pngbin4031 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/market.pngbin40382 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/images/search.pngbin24245 -> 0 bytes
-rw-r--r--docs/html/tools/sdk/ndk/index.jd1
-rw-r--r--docs/html/tools/sdk/preview/index.jd1
-rw-r--r--docs/html/tools/sdk/tools-notes.jd37
-rw-r--r--docs/html/tools/tools_toc.cs26
-rw-r--r--docs/html/tools/workflow/publishing/publishing.jd12
111 files changed, 1072 insertions, 213 deletions
diff --git a/docs/html/tools/debugging/debugging-ui.jd b/docs/html/tools/debugging/debugging-ui.jd
index a5991ec..8ca5192 100644
--- a/docs/html/tools/debugging/debugging-ui.jd
+++ b/docs/html/tools/debugging/debugging-ui.jd
@@ -36,14 +36,14 @@ parent.link=index.html
<li>
<iframe title="Hierarchyviewer"
width="210" height="160"
- src="http://www.youtube.com/embed/PAgE7saQUUY?rel=0&amp;hd=1"
+ src="//www.youtube.com/embed/PAgE7saQUUY?rel=0&amp;hd=1"
frameborder="0" allowfullscreen>
</iframe>
</li>
<li>
<iframe title="Pixel Perfect"
width="210" height="160"
- src="http://www.youtube.com/embed/C45bMZGdN7Y?rel=0&amp;hd=1"
+ src="//www.youtube.com/embed/C45bMZGdN7Y?rel=0&amp;hd=1"
frameborder="0"
allowfullscreen>
</iframe>
diff --git a/docs/html/tools/device.jd b/docs/html/tools/device.jd
index 61cd08a..9bdaf47 100644
--- a/docs/html/tools/device.jd
+++ b/docs/html/tools/device.jd
@@ -111,7 +111,17 @@ rules</a>.</p>
</li>
</ol>
-<p>When plugged in over USB, can verify that your device is connected by executing <code>adb
+
+<p class="note"><strong>Note:</strong> When you connect a device running Android 4.2.2 or higher
+to your computer, the system shows a dialog asking whether to accept an RSA key that allows
+debugging through this computer. This security mechanism protects user devices because it ensures
+that USB debugging and other adb commands cannot be executed unless you're able to unlock the
+device and acknowledge the dialog. This requires that you have adb version 1.0.31 (available with
+SDK Platform-tools r16.0.1 and higher) in order to debug on a device running Android 4.2.2 or
+higher.</p>
+
+
+<p>When plugged in over USB, you can verify that your device is connected by executing <code>adb
devices</code> from your SDK {@code platform-tools/} directory. If connected,
you'll see the device name listed as a "device."</p>
@@ -203,6 +213,10 @@ above.</p>
<td><code>22b8</code></td>
</tr>
<tr>
+ <td>MTK</td>
+ <td><code>0e8d</code></td>
+ </tr>
+ <tr>
<td>NEC</td>
<td><code>0409</code></td>
</tr>
diff --git a/docs/html/tools/extras/oem-usb.jd b/docs/html/tools/extras/oem-usb.jd
index 9e3c709..774fe87 100644
--- a/docs/html/tools/extras/oem-usb.jd
+++ b/docs/html/tools/extras/oem-usb.jd
@@ -211,7 +211,7 @@ exact location of the
<h2 id="Drivers">OEM Drivers</h2>
<p class="note"><strong>Note:</strong> If your device is one of the Android Developer Phones
-(purchased from the Google Play publisher site), a Nexus One, or a Nexus S, then you need
+(purchased from the Google Play Developer Console), a Nexus One, or a Nexus S, then you need
the <a href="{@docRoot}sdk/win-usb.html">Google USB Driver</a>, instead of an OEM driver. The Galaxy
Nexus driver, however, is distributed by <a
href="http://www.samsung.com/us/support/downloads/verizon-wireless/SCH-I515MSAVZW">Samsung</a>
@@ -299,9 +299,14 @@ href="http://www.kttech.co.kr/cscenter/download05.asp">http://www.kttech.co.kr/c
</tr>
<tr><td>LGE</td> <td><a
href="http://www.lg.com/us/mobile-phones/mobile-support/mobile-lg-mobile-phone-support.jsp">http://www.lg.com/us/mobile-phones/mobile-support/mobile-lg-mobile-phone-support.jsp</a></td>
-</tr><tr><td>Motorola</td> <td><a
+</tr>
+<tr><td>Motorola</td> <td><a
href="http://developer.motorola.com/docstools/USB_Drivers/">http://developer.motorola.com/docstools/USB_Drivers/</a></td>
-</tr><tr><td>Pantech</td> <td><a
+</tr>
+<tr><td>MTK</td> <td><a
+href="http://online.mediatek.com/Public%20Documents/MTK_Android_USB_Driver.zip">http://online.mediatek.com/Public%20Documents/MTK_Android_USB_Driver.zip</a></td>
+</tr>
+<tr><td>Pantech</td> <td><a
href="http://www.isky.co.kr/cs/software/software.sky?fromUrl=index">http://www.isky.co.kr/cs/software/software.sky?fromUrl=index</a></td>
</tr><tr><td>Pegatron</td> <td><a
href="http://www.pegatroncorp.com/download/New_Duke_PC_Driver_0705.zip">http://www.pegatroncorp.com/download/New_Duke_PC_Driver_0705.zip</a> (ZIP download)</td>
diff --git a/docs/html/tools/help/adb.jd b/docs/html/tools/help/adb.jd
index d44d54b..c8afca5 100644
--- a/docs/html/tools/help/adb.jd
+++ b/docs/html/tools/help/adb.jd
@@ -5,32 +5,27 @@ parent.link=index.html
<div id="qv-wrapper">
<div id="qv">
- <h2>ADB quickview</h2>
- <ul>
-<li>Manage the state of an emulator or device</li>
-<li>Run shell commands on a device</li>
-<li>Manage port forwarding on an emulator or device</li>
-<li>Copy files to/from an emulator or device</li>
- </ul>
-
<h2>In this document</h2>
- <ol>
-<li><a href="#issuingcommands">Issuing ADB Commands</a></li>
-<li><a href="#devicestatus">Querying for Emulator/Device Instances</a></li>
-<li><a href="#directingcommands">Directing Commands to a Specific Emulator/Device Instance</a></li>
-<li><a href="#move">Installing an Application</a></li>
-<li><a href="#forwardports">Forwarding Ports</a></li>
-<li><a href="#copyfiles">Copying Files to or from an Emulator/Device Instance</a></li>
-<li><a href="#commandsummary">Listing of adb Commands </a></li>
-<li><a href="#shellcommands">Issuing Shell Commands</a></li>
-<li><a href="#logcat">Enabling Logcat Logging</a></li>
-<li><a href="#stopping">Stopping the adb Server</a></li>
- </ol>
-
- <h2>See also</h2>
- <ol>
- <li><a href="emulator.html">Emulator</a></li>
- </ol>
+<ol>
+ <li><a href="#issuingcommands">Syntax</a></li>
+ <li><a href="#commandsummary">Commands</a></li>
+ <li><a href="#devicestatus">Querying for Emulator/Device Instances</a></li>
+ <li><a href="#directingcommands">Directing Commands to a Specific Emulator/Device Instance</a></li>
+ <li><a href="#move">Installing an Application</a></li>
+ <li><a href="#forwardports">Forwarding Ports</a></li>
+ <li><a href="#copyfiles">Copying Files to or from an Emulator/Device Instance</a></li>
+ <li><a href="#shellcommands">Issuing Shell Commands</a>
+ <ol>
+ <li><a href="#am">Using activity manager (am)</a></li>
+ <li><a href="#pm">Using package manager (pm)</a></li>
+ <li><a href="#sqlite">Examining sqlite3 databases from a remote shell</a></li>
+ <li><a href="#monkey">UI/Application Exerciser Monkey</a></li>
+ <li><a href="#othershellcommands">Other shell commands</a></li>
+ </ol>
+ </li>
+ <li><a href="#logcat">Enabling logcat logging</a></li>
+ <li><a href="#stopping">Stopping the adb server</a></li>
+</ol>
</div>
</div>
@@ -40,14 +35,20 @@ emulator instance or connected Android-powered device. It is a client-server pro
three components: </p>
<ul>
- <li>A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. </li>
- <li>A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. </li>
+ <li>A client, which runs on your development machine. You can invoke a client from a shell
+by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create
+adb clients. </li>
+ <li>A server, which runs as a background process on your development machine. The server
+manages communication between the client and the adb daemon running on an emulator or device. </li>
<li>A daemon, which runs as a background process on each emulator or device instance. </li>
</ul>
<p>You can find the {@code adb} tool in {@code &lt;sdk&gt;/platform-tools/}.</p>
-<p>When you start an adb client, the client first checks whether there is an adb server process already running. If there isn't, it starts the server process. When the server starts, it binds to local TCP port 5037 and listens for commands sent from adb clients&mdash;all adb clients use port 5037 to communicate with the adb server. </p>
+<p>When you start an adb client, the client first checks whether there is an adb server
+process already running. If there isn't, it starts the server process. When the server starts,
+it binds to local TCP port 5037 and listens for commands sent from adb clients&mdash;all adb
+clients use port 5037 to communicate with the adb server. </p>
<p>The server then sets up connections to all running emulator/device instances. It locates emulator/device instances by scanning odd-numbered ports in the range 5555 to 5585, the range used by emulators/devices. Where the server finds an adb daemon, it sets up a connection to that port. Note that each emulator/device instance acquires a pair of sequential ports &mdash; an even-numbered port for console connections and an odd-numbered port for adb connections. For example: </p>
@@ -55,127 +56,49 @@ three components: </p>
Emulator 1, console: 5554<br/>
Emulator 1, adb: 5555<br>
Emulator 2, console: 5556<br>
-Emulator 2, adb: 5557 ...
+Emulator 2, adb: 5557<br>
+and so on...
</p>
-<p>As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554. </p>
-
-<p>Once the server has set up connections to all emulator instances, you can use adb commands to control and access those instances. Because the server manages connections to emulator/device instances and handles commands from multiple adb clients, you can control any emulator/device instance from any client (or from a script).</p>
+<p>As shown, the emulator instance connected to adb on port 5555 is the same as the instance
+whose console listens on port 5554. </p>
-<p>The sections below describe the commands that you can use to access adb capabilities and manage the state of an emulator/device. Note that if you are developing Android applications in Eclipse and have installed the ADT plugin, you do not need to access adb from the command line. The ADT plugin provides a transparent integration of adb into the Eclipse IDE. However, you can still use adb directly as necessary, such as for debugging.</p>
+<p>Once the server has set up connections to all emulator instances, you can use adb commands to
+access those instances. Because the server manages connections to emulator/device
+instances and handles commands from multiple adb clients, you can control any emulator/device
+instance from any client (or from a script).</p>
-<a name="issuingcommands"></a>
-<h2>Issuing adb Commands</h2>
+<p class="note"><strong>Note:</strong> When you connect a device running Android 4.2.2 or higher
+to your computer, the system shows a dialog asking whether to accept an RSA key that allows
+debugging through this computer. This security mechanism protects user devices because it ensures
+that USB debugging and other adb commands cannot be executed unless you're able to unlock the
+device and acknowledge the dialog. This requires that you have adb version 1.0.31 (available with
+SDK Platform-tools r16.0.1 and higher) in order to debug on a device running Android 4.2.2 or
+higher.</p>
-<p>You can issue adb commands from a command line on your development machine or from a script. The usage is: </p>
- <pre>adb [-d|-e|-s &lt;serialNumber&gt;] &lt;command&gt; </pre>
+<h2 id="issuingcommands">Syntax</h2>
-<p>When you issue a command, the program invokes an adb client. The client is not specifically associated with any emulator instance, so if multiple emulators/devices are running, you need to use the <code>-d</code> option to specify the target instance to which the command should be directed. For more information about using this option, see <a href="#directingcommands">Directing Commands to a Specific Emulator/Device Instance</a>. </p>
+<p>You can issue adb commands from a command line on your development machine or from a script.
+The usage is: </p>
-<a name="devicestatus"></a>
+<pre class="no-pretty-print">
+adb [-d|-e|-s &lt;serialNumber&gt;] &lt;command&gt;
+</pre>
-<h2>Querying for Emulator/Device Instances</h2>
+<p>If there's only one emulator running or only one device connected, the adb command is
+sent to that device by default. If multiple emulators are running and/or multiple devices are
+attached, you need to use the <code>-d</code>, <code>-e</code>, or <code>-s</code>
+option to specify the target device to which the command should be directed. </p>
-<p>Before issuing adb commands, it is helpful to know what emulator/device instances are connected to the adb server. You can generate a list of attached emulators/devices using the <code>devices</code> command: </p>
-
- <pre>adb devices</pre>
-<p>In response, adb prints this status information for each instance:</p>
-<ul>
- <li>Serial number &mdash; A string created by adb to uniquely identify an emulator/device instance by its
- console port number. The format of the serial number is <code>&lt;type&gt;-&lt;consolePort&gt;</code>.
- Here's an example serial number: <code>emulator-5554</code></li>
- <li>State &mdash; The connection state of the instance may be one of the following:
- <ul>
- <li><code>offline</code> &mdash; the instance is not connected to adb or is not responding.</li>
- <li><code>device</code> &mdash; the instance is now connected to the adb server. Note that this state does not
- imply that the Android system is fully booted and operational, since the instance connects to adb
- while the system is still booting. However, after boot-up, this is the normal operational state of
- an emulator/device instance.</li>
- <li><code>no device</code> &mdash; there is no emulator/device connected.
- </ul>
- </li>
-</ul>
-
-<p>The output for each instance is formatted like this: </p>
-
- <pre>[serialNumber] [state]</pre>
-
-<p>Here's an example showing the <code>devices</code> command and its output:</p>
-
- <pre>$ adb devices
-List of devices attached
-emulator-5554&nbsp;&nbsp;device
-emulator-5556&nbsp;&nbsp;device
-emulator-5558&nbsp;&nbsp;device</pre>
-
-
-
-<a name="directingcommands"></a>
-
-<h2>Directing Commands to a Specific Emulator/Device Instance</h2>
-
-<p>If multiple emulator/device instances are running, you need to specify a target instance when issuing adb commands. To so so, use the <code>-s</code> option in the commands. The usage for the <code>-s</code> option is:</p>
-
- <pre>adb -s &lt;serialNumber&gt; &lt;command&gt; </pre>
-
-<p>As shown, you specify the target instance for a command using its adb-assigned serial number. You can use the <code>devices</code> command to obtain the serial numbers of running emulator/device instances. </p>
-
-<p>Here is an example: </p>
-
- <pre>adb -s emulator-5556 install helloWorld.apk</pre>
-
-<p>Note that, if you issue a command without specifying a target emulator/device instance using <code>-s</code>, adb generates an error.
-
-<a name="move"></a>
-
-<h2>Installing an Application</h2>
-<p>You can use adb to copy an application from your development computer and install it on an emulator/device instance. To do so, use the <code>install</code> command. With the command, you must specify the path to the .apk file that you want to install:</p>
-
-<pre>adb install &lt;path_to_apk&gt;</pre>
-
-<p>For more information about how to create an .apk file that you can install on an emulator/device
-instance, see <a href="{@docRoot}tools/building/index.html">Building and Running</a></p>
-
-<p>Note that, if you are using the Eclipse IDE and have the ADT plugin installed, you do not need to use adb (or aapt) directly to install your application on the emulator/device. Instead, the ADT plugin handles the packaging and installation of the application for you. </p>
-
-
-<a name="forwardports"></a>
-
-<h2>Forwarding Ports</h2>
-
- <p>You can use the <code>forward</code> command to set up arbitrary port forwarding &mdash; forwarding of requests on a specific host port to a different port on an emulator/device instance. Here's how you would set up forwarding of host port 6100 to emulator/device port 7100:</p>
-<pre>adb forward tcp:6100 tcp:7100</pre>
- <p>You can also use adb to set up forwarding to named abstract UNIX domain sockets, as illustrated here:</p>
-<pre>adb forward tcp:6100 local:logd </pre>
-
-<a name="copyfiles"></a>
-
-<h2>Copying Files to or from an Emulator/Device Instance</h2>
-
-<p>You can use the adb commands <code>pull</code> and <code>push</code> to copy files to and from an emulator/device instance's data file. Unlike the <code>install</code> command, which only copies an .apk file to a specific location, the <code>pull</code> and <code>push</code> commands let you copy arbitrary directories and files to any location in an emulator/device instance. </p>
-
-<p>To copy a file or directory (recursively) <em>from</em> the emulator or device, use</p>
-<pre>adb pull &lt;remote&gt; &lt;local&gt;</pre>
-
-<p>To copy a file or directory (recursively) <em>to</em> the emulator or device, use</p>
- <pre>adb push &lt;local&gt; &lt;remote&gt;</pre>
-
-<p>In the commands, <code>&lt;local&gt;</code> and <code>&lt;remote&gt;</code> refer to the paths to the target files/directory on your development machine (local) and on the emulator/device instance (remote).</p>
-
-<p>Here's an example: </p>
-<pre>adb push foo.txt /sdcard/foo.txt</pre>
-
-<a name="commandsummary"></a>
-
-<h2>Listing of adb Commands</h2>
+<h2 id="commandsummary">Commands</h2>
<p>The table below lists all of the supported adb commands and explains their meaning and usage. </p>
-
+<p class="table-caption"><strong>Table 1.</strong> Available adb commands</p>
<table>
<tr>
<th>Category</th>
@@ -185,7 +108,7 @@ instance, see <a href="{@docRoot}tools/building/index.html">Building and Running
</tr>
<tr>
-<td rowspan="3">Options</td>
+<td rowspan="3">Target Device</td>
<td><code>-d</code></td>
<td>Direct an adb command to the only attached USB device.</td>
<td>Returns an error if more than one USB device is attached.</td>
@@ -200,7 +123,8 @@ instance, see <a href="{@docRoot}tools/building/index.html">Building and Running
<tr>
<td><code>-s&nbsp;&lt;serialNumber&gt;</code></td>
<td>Direct an adb command a specific emulator/device instance, referred to by its adb-assigned serial number (such as "emulator-5556").</td>
-<td>If not specified, adb generates an error.</td>
+<td>See <a href="#directingcommands">Directing
+Commands to a Specific Emulator/Device Instance</a>.</td>
</tr>
<tr>
@@ -224,7 +148,7 @@ instance, see <a href="{@docRoot}tools/building/index.html">Building and Running
<tr>
<td rowspan="3">Debug</td>
-<td ><code>logcat&nbsp;[&lt;option&gt;] [&lt;filter-specs&gt;]</code></td>
+<td ><code>logcat&nbsp;[option] [filter-specs]</code></td>
<td>Prints log data to the screen. </td>
<td>&nbsp;</td>
</tr>
@@ -247,7 +171,7 @@ instance, see <a href="{@docRoot}tools/building/index.html">Building and Running
<tr>
<td rowspan=3">Data</td>
<td><code>install&nbsp;&lt;path-to-apk&gt;</code></td>
-<td>Pushes an Android application (specified as a full path to an .apk file) to the data file of an emulator/device. </td>
+<td>Pushes an Android application (specified as a full path to an .apk file) to an emulator/device. </td>
<td>&nbsp;</td>
</tr>
@@ -303,11 +227,11 @@ instance, see <a href="{@docRoot}tools/building/index.html">Building and Running
<td><code>wait-for-device</code></td>
<td>Blocks execution until the device is online &mdash; that is, until the instance state is <code>device</code>.</td>
<td>You can prepend this command to other adb commands, in which case adb will wait until the emulator/device instance is connected before issuing the other commands. Here's an example:
-<pre>adb wait-for-device shell getprop</pre>
+<pre class="no-pretty-print">adb wait-for-device shell getprop</pre>
Note that this command does <em>not</em> cause adb to wait until the entire system is fully booted. For that reason, you should not prepend it to other commands that require a fully booted system. As an example, the <code>install</code> requires the Android package manager, which is available only after the system is fully booted. A command such as
-<pre>adb wait-for-device install &lt;app&gt;.apk</pre>
+<pre class="no-pretty-print">adb wait-for-device install &lt;app&gt;.apk</pre>
would issue the <code>install</code> command as soon as the emulator or device instance connected to the adb server, but before the Android system was fully booted, so it would result in an error. </td>
</tr>
@@ -337,40 +261,841 @@ would issue the <code>install</code> command as soon as the emulator or device i
</tr>
<tr>
-<td><code>shell&nbsp;[&lt;shellCommand&gt;]</code></td>
+<td><code>shell&nbsp;[shellCommand]</code></td>
<td>Issues a shell command in the target emulator/device instance and then exits the remote shell.</td>
</tr>
</table>
-<a name="shellcommands"></a>
-<h2>Issuing Shell Commands</h2>
-<p>Adb provides an ash shell that you can use to run a variety of commands on an emulator
-or device. The command binaries are stored in the file system of the emulator or device,
-in this location: </p>
-<pre>/system/bin/...</pre>
-<p>You can use the <code>shell</code> command to issue commands, with or without entering the adb remote shell on the emulator/device. </p>
-<p>To issue a single command without entering a remote shell, use the <code>shell</code> command like this: </p>
- <pre>adb [-d|-e|-s {&lt;serialNumber&gt;}] shell &lt;shellCommand&gt;</pre>
+
+
+<h2 id="devicestatus">Querying for Emulator/Device Instances</h2>
+
+<p>Before issuing adb commands, it is helpful to know what emulator/device instances are connected to the adb server. You can generate a list of attached emulators/devices using the <code>devices</code> command: </p>
+
+ <pre class="no-pretty-print">adb devices</pre>
+
+<p>In response, adb prints this status information for each instance:</p>
+
+<ul>
+ <li>Serial number &mdash; A string created by adb to uniquely identify an emulator/device instance by its
+ console port number. The format of the serial number is <code>&lt;type&gt;-&lt;consolePort&gt;</code>.
+ Here's an example serial number: <code>emulator-5554</code></li>
+ <li>State &mdash; The connection state of the instance may be one of the following:
+ <ul>
+ <li><code>offline</code> &mdash; the instance is not connected to adb or is not responding.</li>
+ <li><code>device</code> &mdash; the instance is now connected to the adb server. Note that this state does not
+ imply that the Android system is fully booted and operational, since the instance connects to adb
+ while the system is still booting. However, after boot-up, this is the normal operational state of
+ an emulator/device instance.</li>
+ <li><code>no device</code> &mdash; there is no emulator/device connected.
+ </ul>
+ </li>
+</ul>
+
+<p>The output for each instance is formatted like this: </p>
+
+ <pre class="no-pretty-print">[serialNumber] [state]</pre>
+
+<p>Here's an example showing the <code>devices</code> command and its output:</p>
+
+ <pre class="no-pretty-print">adb devices
+List of devices attached
+emulator-5554&nbsp;&nbsp;device
+emulator-5556&nbsp;&nbsp;device
+emulator-5558&nbsp;&nbsp;device</pre>
+
+
+
+
+
+
+<h2 id="directingcommands">Directing Commands to a Specific Emulator/Device Instance</h2>
+
+<p>If multiple emulator/device instances are running, you must specify a target instance
+when issuing adb commands. To do so, use the <code>-s</code> option in the commands. The usage
+for the <code>-s</code> option is:</p>
+
+ <pre class="no-pretty-print">adb -s &lt;serialNumber&gt; &lt;command&gt; </pre>
+
+<p>As shown, you specify the target instance for a command using its adb-assigned serial number.
+You can use the <code>devices</code> command to obtain the serial numbers of running
+emulator/device instances. For example: </p>
+
+ <pre class="no-pretty-print">adb -s emulator-5556 install helloWorld.apk</pre>
+
+<p>Note that, if you issue a command without specifying a target emulator/device instance
+while multiple devices are available, adb generates an error.
+
+<p>If you have multiple devices available (hardware or emulated), but only one is an emulator,
+simply use the {@code -e} option to send commands to the emulator. Likewise if there's multiple
+devices but only one hardware device attached, use the {@code -d} option to send commands to
+the hardware device.
+
+
+
+
+<h2 id="move">Installing an Application</h2>
+<p>You can use adb to copy an application from your development computer and install it on an emulator/device instance. To do so, use the <code>install</code> command. With the command, you must specify the path to the .apk file that you want to install:</p>
+
+<pre class="no-pretty-print">adb install &lt;path_to_apk&gt;</pre>
+
+<p>For more information about how to create an .apk file that you can install on an emulator/device
+instance, see <a href="{@docRoot}tools/building/index.html">Building and Running</a></p>
+
+<p>Note that, if you are using the Eclipse IDE and have the ADT plugin installed, you do not need to use adb (or aapt) directly to install your application on the emulator/device. Instead, the ADT plugin handles the packaging and installation of the application for you. </p>
+
+
+
+
+
+
+<h2 id="forwardports">Forwarding Ports</h2>
+
+ <p>You can use the <code>forward</code> command to set up arbitrary port forwarding &mdash; forwarding of requests on a specific host port to a different port on an emulator/device instance. Here's how you would set up forwarding of host port 6100 to emulator/device port 7100:</p>
+<pre class="no-pretty-print">adb forward tcp:6100 tcp:7100</pre>
+ <p>You can also use adb to set up forwarding to named abstract UNIX domain sockets, as illustrated here:</p>
+<pre class="no-pretty-print">adb forward tcp:6100 local:logd </pre>
+
+
+
+
+
+<h2 id="copyfiles">Copying Files to or from an Emulator/Device Instance</h2>
+
+<p>You can use the adb commands <code>pull</code> and <code>push</code> to copy files to
+and from an emulator/device instance. Unlike the <code>install</code> command,
+which only copies an APK file to a specific location, the <code>pull</code> and <code>push</code>
+commands let you copy arbitrary directories and files to any location in an
+emulator/device instance. </p>
+
+<p>To copy a file or directory (and its sub-directories) <em>from</em> the emulator or device, use</p>
+<pre class="no-pretty-print">adb pull &lt;remote&gt; &lt;local&gt;</pre>
+
+<p>To copy a file or directory (and its sub-directories) <em>to</em> the emulator or device, use</p>
+ <pre class="no-pretty-print">adb push &lt;local&gt; &lt;remote&gt;</pre>
+
+<p>In the commands, <code>&lt;local&gt;</code> and <code>&lt;remote&gt;</code> refer to the
+paths to the target files/directory on your development machine (local) and on the
+emulator/device instance (remote). For example: </p>
+<pre class="no-pretty-print">adb push foo.txt /sdcard/foo.txt</pre>
+
+
+
+
+
+
+
+
+
+<h2 id="shellcommands">Issuing Shell Commands</h2>
+
+<p>Adb provides a Unix shell that you can use to run a variety of commands on an emulator
+or connected device. The command binaries are stored in the file system of the emulator or device,
+at <code>/system/bin/...</code>
+
+<p>Two of the most common command tools are <a href="#am">activity manager</a> ({@code am}) and
+<a href="#pm">package manager</a> ({@code pm}).</p>
+
+<p>You can use the <code>shell</code> command to issue commands, with or without entering
+the adb remote shell on the emulator/device. To issue a single command without entering a
+remote shell, use the <code>shell</code> command like this: </p>
+
+ <pre class="no-pretty-print">adb [-d|-e|-s &lt;serialNumber&gt;] shell &lt;shell_command&gt;</pre>
-<p>To drop into a remote shell on a emulator/device instance, use the <code>shell</code> command like this:</p>
+<p>Or enter a remote shell on an emulator/device like this:</p>
+
+ <pre class="no-pretty-print">adb [-d|-e|-s &lt;serialNumber&gt;] shell</pre>
+
+<p>When you are ready to exit the remote shell, press CTRL+D or type
+<code>exit</code>. </p>
+
+
+
+
+
+<h3 id="am">Using activity manager (am)</h3>
+
+<p>Within an adb shell, you can issue commands with the activity manager ({@code am}) tool to
+perform various system actions, such as start an activity, force-stop a process,
+broadcast an intent, modify the device screen properties, and more. While in a shell,
+the syntax is:</p>
+<pre class="no-pretty-print">
+am &lt;command>
+</pre>
+
+<p>You can also issue an activity manager command directly from adb
+without entering a remote shell. For example:</p>
+<pre class="no-pretty-print">
+adb shell am start -a android.intent.action.VIEW
+</pre>
+
+
+<p class="table-caption"><strong>Table 2.</strong> Available activity manager commands</p>
+<table>
+<tr>
+ <th>Command</th>
+ <th>Description</th>
+</tr>
+
+<tr>
+<td><code>
+start [options] &lt;INTENT>
+</code></td>
+<td>Start an {@link android.app.Activity} specified by {@code &lt;INTENT>}. <p>See the
+<a href="#IntentSpec">Specification for &lt;INTENT> arguments</a>.
+<p>Options are:
+<ul>
+ <li>{@code -D}: Enable debugging.
+ <li>{@code -W}: Wait for launch to complete.
+ <li>{@code --start-profiler &lt;FILE>}: Start profiler and send results to {@code &lt;FILE>}.
+ <li>{@code -P &lt;FILE>}: Like <code>--start-profiler</code>,
+ but profiling stops when the app goes idle.
+ <li>{@code -R}: Repeat the activity launch {@code &lt;COUNT>} times. Prior to each repeat,
+ the top activity will be finished.
+ <li>{@code -S}: Force stop the target app before starting the activity.
+ <li>{@code --opengl-trace}: Enable tracing of OpenGL functions.
+ <li>{@code --user &lt;USER_ID> | current}: Specify which user to run as; if not
+ specified, then run as the current user.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+startservice [options] &lt;INTENT>
+</code></td>
+<td>Start the {@link android.app.Service} specified by {@code &lt;INTENT>}. <p>See the
+<a href="#IntentSpec">Specification for &lt;INTENT> arguments</a>.
+<p>Options are:
+<ul>
+ <li>{@code --user &lt;USER_ID> | current}: Specify which user to run as; if not
+ specified, then run as the current user.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+force-stop &lt;PACKAGE>
+</code></td>
+<td>Force stop everything associated with {@code &lt;PACKAGE>} (the app's package name).
+</td>
+</tr>
+
+<tr>
+<td><code>
+kill [options] &lt;PACKAGE>
+</code></td>
+<td> Kill all processes associated with {@code &lt;PACKAGE>}
+ (the app's package name). This command kills only
+ processes that are safe to kill and that will not impact the user
+ experience.
+ <p>Options are:
+ <ul>
+ <li>{@code --user &lt;USER_ID> | all | current}: Specify user whose processes to kill;
+ all users if not specified.
+ </ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+kill-all
+</code></td>
+<td>Kill all background processes.
+</td>
+</tr>
+
+<tr>
+<td><code>
+broadcast [options] &lt;INTENT>
+</code></td>
+<td>Issue a broadcast intent. <p>See the
+<a href="#IntentSpec">Specification for &lt;INTENT> arguments</a>.
+<p>Options are:
+<ul>
+ <li>{@code [--user &lt;USER_ID> | all | current]}: Specify which user to send to; if not
+ specified then send to all users.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+instrument [options] &lt;COMPONENT>
+</code></td>
+<td>Start monitoring with an {@link android.app.Instrumentation} instance.
+ Typically the target {@code &lt;COMPONENT>}
+ is the form {@code &lt;TEST_PACKAGE>/&lt;RUNNER_CLASS>}. <p>Options are:
+<ul>
+ <li>{@code -r}: Print raw results (otherwise decode
+ {@code &lt;REPORT_KEY_STREAMRESULT>}). Use with
+ {@code [-e perf true]} to generate raw output for performance measurements.
+
+ <li>{@code -e &lt;NAME> &lt;VALUE>}: Set argument {@code &lt;NAME>} to {@code &lt;VALUE>}.
+ For test runners a common form is {@code
+ -e &lt;testrunner_flag> &lt;value>[,&lt;value>...]}.
+
+ <li>{@code -p &lt;FILE>}: Write profiling data to {@code &lt;FILE>}.
+
+ <li>{@code -w}: Wait for instrumentation to finish before returning. Required for
+ test runners.
+
+ <li>{@code --no-window-animation}: Turn off window animations while running.
+ <li>{@code --user &lt;USER_ID> | current}: Specify which user instrumentation runs in;
+ current user if not specified.
+</ul>
+
+</td>
+</tr>
+
+<tr>
+<td><code>
+profile start &lt;PROCESS> &lt;FILE>
+</code></td>
+<td>Start profiler on {@code &lt;PROCESS>}, write results to {@code &lt;FILE>}.
+</td>
+</tr>
+
+<tr>
+<td><code>
+profile stop &lt;PROCESS>
+</code></td>
+<td>Stop profiler on {@code &lt;PROCESS>}.
+</td>
+</tr>
+
+<tr>
+<td style="white-space:nowrap"><code>
+dumpheap [options] &lt;PROCESS> &lt;FILE>
+</code></td>
+<td>Dump the heap of {@code &lt;PROCESS>}, write to {@code &lt;FILE>}. <p>Options are:
+<ul>
+ <li>{@code --user [&lt;USER_ID>|current]}: When supplying a process name,
+ specify user of process to dump; uses current user if not specified.
+ <li>{@code -n}: Dump native heap instead of managed heap.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+set-debug-app [options] &lt;PACKAGE>
+</code></td>
+<td>Set application {@code &lt;PACKAGE>} to debug. <p>Options are:
+<ul>
+ <li>{@code -w}: Wait for debugger when application starts.
+ <li>{@code --persistent}: Retain this value.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+clear-debug-app
+</code></td>
+<td>Clear the package previous set for debugging with {@code set-debug-app}.
+</td>
+</tr>
+
+<tr>
+<td><code>
+monitor [options]
+</code></td>
+<td>Start monitoring for crashes or ANRs. <p>Options are:
+<ul>
+ <li>{@code --gdb}: Start gdbserv on the given port at crash/ANR.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+screen-compat [on|off] &lt;PACKAGE>
+</code></td>
+<td>Control <a href="{@docRoot}guide/practices/screen-compat-mode.html">screen
+compatibility</a> mode of {@code &lt;PACKAGE>}.</p>
+</td>
+</tr>
+
+<tr>
+<td><code>
+display-size [reset|&lt;WxH>]
+</code></td>
+<td>Override emulator/device display size.
+This command is helpful for testing your app across different screen sizes by mimicking a small
+screen resolution using a device with a large screen, and vice versa.
+<p>Example:<br><code>am display-size 1280x800</code>
+</td>
+</tr>
+
+<tr>
+<td><code>
+display-density &lt;dpi>
+</code></td>
+<td>Override emulator/device display density.
+This command is helpful for testing your app across different screen densities on high-density
+screen environment using a low density screen, and vice versa.
+<p>Example:<br><code>am display-density 480</code>
+</td>
+</tr>
+
+<tr>
+<td><code>
+to-uri &lt;INTENT>
+</code></td>
+<td>Print the given intent specification as a URI. <p>See the
+<a href="#IntentSpec">Specification for &lt;INTENT> arguments</a>.
+</td>
+</tr>
+
+<tr>
+<td><code>
+to-intent-uri &lt;INTENT>
+</code></td>
+<td>Print the given intent specification as an {@code intent:} URI. <p>See the
+<a href="#IntentSpec">Specification for &lt;INTENT> arguments</a>.
+</td>
+</tr>
+</table>
+
+
+
+
+
+<h4 id="IntentSpec">
+ <a href="" class="expandable" onclick="toggleExpandable(this,'.intents');
+return false">Specification for &lt;INTENT> arguments</a></h4>
+
+<div class="intents" style="display:none">
+
+<p>For activity manager commands that take a {@code &lt;INTENT>} argument, you can
+specify the intent with the following options:</p>
+
+<dl>
+ <dt>{@code -a &lt;ACTION>}</dt>
+ <dd>Specify the intent action, such as "android.intent.action.VIEW".
+ You can declare this only once.
+
+ <dt>{@code -d &lt;DATA_URI>}</dt>
+ <dd>Specify the intent data URI, such as "content://contacts/people/1".
+ You can declare this only once.
+
+ <dt>{@code -t &lt;MIME_TYPE>}</dt>
+ <dd>Specify the intent MIME type, such as "image/png".
+ You can declare this only once.
+
+ <dt>{@code -c &lt;CATEGORY>}</dt>
+ <dd>Specify an intent category, such as "android.intent.category.APP_CONTACTS".
+
+ <dt>{@code -n &lt;COMPONENT>}</dt>
+ <dd>Specify the component name with package name prefix to create an explicit intent, such
+ as "com.example.app/.ExampleActivity".
+
+ <dt>{@code -f &lt;FLAGS>}</dt>
+ <dd>Add flags to the intent, as supported by {@link
+ android.content.Intent#setFlags setFlags()}.
+
+ <dt>{@code --esn &lt;EXTRA_KEY>}</dt>
+ <dd>Add a null extra. This option is not supported for URI intents.
+
+ <dt>{@code -e|--es &lt;EXTRA_KEY> &lt;EXTRA_STRING_VALUE>}</dt>
+ <dd>Add string data as a key-value pair.
+
+ <dt>{@code --ez &lt;EXTRA_KEY> &lt;EXTRA_BOOLEAN_VALUE>}</dt>
+ <dd>Add boolean data as a key-value pair.
+
+ <dt>{@code --ei &lt;EXTRA_KEY> &lt;EXTRA_INT_VALUE>}</dt>
+ <dd>Add integer data as a key-value pair.
+
+ <dt>{@code --el &lt;EXTRA_KEY> &lt;EXTRA_LONG_VALUE>}</dt>
+ <dd>Add long data as a key-value pair.
+
+ <dt>{@code --ef &lt;EXTRA_KEY> &lt;EXTRA_FLOAT_VALUE>}</dt>
+ <dd>Add float data as a key-value pair.
+
+ <dt>{@code --eu &lt;EXTRA_KEY> &lt;EXTRA_URI_VALUE>}</dt>
+ <dd>Add URI data as a key-value pair.
+
+ <dt>{@code --ecn &lt;EXTRA_KEY> &lt;EXTRA_COMPONENT_NAME_VALUE>}</dt>
+ <dd>Add a component name, which is converted and passed as
+ a {@link android.content.ComponentName} object.
+
+ <dt>{@code --eia &lt;EXTRA_KEY> &lt;EXTRA_INT_VALUE>[,&lt;EXTRA_INT_VALUE...]}</dt>
+ <dd>Add an array of integers.
+
+ <dt>{@code --ela &lt;EXTRA_KEY> &lt;EXTRA_LONG_VALUE>[,&lt;EXTRA_LONG_VALUE...]}</dt>
+ <dd>Add an array of longs.
+
+ <dt>{@code --efa &lt;EXTRA_KEY> &lt;EXTRA_FLOAT_VALUE>[,&lt;EXTRA_FLOAT_VALUE...]}</dt>
+ <dd>Add an array of floats.
+
+ <dt>{@code --grant-read-uri-permission}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION}.
+
+ <dt>{@code --grant-write-uri-permission}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_GRANT_WRITE_URI_PERMISSION}.
+
+ <dt>{@code --debug-log-resolution}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_DEBUG_LOG_RESOLUTION}.
+
+ <dt>{@code --exclude-stopped-packages}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_EXCLUDE_STOPPED_PACKAGES}.
+
+ <dt>{@code --include-stopped-packages}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_INCLUDE_STOPPED_PACKAGES}.
+
+ <dt>{@code --activity-brought-to-front}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_BROUGHT_TO_FRONT}.
+
+ <dt>{@code --activity-clear-top}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TOP}.
+
+ <dt>{@code --activity-clear-when-task-reset}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET}.
+
+ <dt>{@code --activity-exclude-from-recents}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS}.
+
+ <dt>{@code --activity-launched-from-history}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY}.
+
+ <dt>{@code --activity-multiple-task}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_MULTIPLE_TASK}.
+
+ <dt>{@code --activity-no-animation}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_NO_ANIMATION}.
+
+ <dt>{@code --activity-no-history}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_NO_HISTORY}.
+
+ <dt>{@code --activity-no-user-action}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_NO_USER_ACTION}.
+
+ <dt>{@code --activity-previous-is-top}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_PREVIOUS_IS_TOP}.
+
+ <dt>{@code --activity-reorder-to-front}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_REORDER_TO_FRONT}.
+
+ <dt>{@code --activity-reset-task-if-needed}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED}.
+
+ <dt>{@code --activity-single-top}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_SINGLE_TOP}.
+
+ <dt>{@code --activity-clear-task}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_CLEAR_TASK}.
+
+ <dt>{@code --activity-task-on-home}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_ACTIVITY_TASK_ON_HOME}.
+
+ <dt>{@code --receiver-registered-only}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_RECEIVER_REGISTERED_ONLY}.
+
+ <dt>{@code --receiver-replace-pending}</dt>
+ <dd>Include the flag {@link android.content.Intent#FLAG_RECEIVER_REPLACE_PENDING}.
+
+ <dt>{@code --selector}</dt>
+ <dd>Requires the use of {@code -d} and {@code -t} options to set the intent data and type.
+
+ <dt>{@code &lt;URI> &lt;COMPONENT> &lt;PACKAGE>}</dt>
+ <dd>You can directly specify a URI, package name, and component name when not qualified
+ by one of the above options. When an argument is unqualified, the tool assumes the argument
+ is a URI if it contains a ":" (colon); it assumes the argument is a component name if it
+ contains a "/" (forward-slash); otherwise it assumes the argument is a package name.
+
+</dl>
+</div><!-- end 'intents' -->
+<script>
+ $(window).hashchange( function(){
+ if ((location.hash == "#IntentSpec") && !($("#IntentSpec a").hasClass("expanded"))) {
+ $("#IntentSpec a").click();
+ }
+ });
+</script>
+
+
+
+<h3 id="pm">Using package manager (pm)</h3>
+
+<p>Within an adb shell, you can issue commands with the package manager ({@code pm}) tool to
+perform actions and queries on application packages installed on the device. While in a shell,
+the syntax is:</p>
+<pre class="no-pretty-print">
+pm &lt;command>
+</pre>
+
+<p>You can also issue a package manager command directly from adb
+without entering a remote shell. For example:</p>
+<pre class="no-pretty-print">
+adb shell pm uninstall com.example.MyApp
+</pre>
+
+<p class="table-caption"><strong>Table 3.</strong> Available package manager commands.</p>
+<table>
+<tr>
+ <th>Command</th>
+ <th>Description</th>
+</tr>
+
+<tr>
+<td><code>
+list packages [options] &lt;FILTER>
+</code></td>
+<td>Prints all packages, optionally only
+ those whose package name contains the text in {@code &lt;FILTER>}. <p>Options:
+<ul>
+ <li>{@code -f}: See their associated file.
+ <li>{@code -d}: Filter to only show disabled packages.
+ <li>{@code -e}: Filter to only show enabled packages.
+ <li>{@code -s}: Filter to only show system packages.
+ <li>{@code -3}: Filter to only show third party packages.
+ <li>{@code -i}: See the installer for the packages.
+ <li>{@code -u}: Also include uninstalled packages.
+ <li>{@code --user &lt;USER_ID>}: The user space to query.
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+list permission-groups
+</code></td>
+<td>Prints all known permission groups.
+</td>
+</tr>
+
+<tr>
+<td><code>
+list permissions [options] &lt;GROUP>
+</code></td>
+<td>Prints all known permissions, optionally only
+ those in {@code &lt;GROUP>}. <p>Options:
+<ul>
+ <li>{@code -g}: Organize by group.
+ <li>{@code -f}: Print all information.
+ <li>{@code -s}: Short summary.
+ <li>{@code -d}: Only list dangerous permissions.
+ <li>{@code -u}: List only the permissions users will see.
+</ul>
+</td>
+</tr>
- <pre>adb [-d|-e|-s {&lt;serialNumber&gt;}] shell</pre>
+<tr>
+<td><code>
+list instrumentation
+</code></td>
+<td>List all test packages. <p>Options:
+ <ul>
+ <li>{@code -f}: List the APK file for the test package.
+ <li>{@code &lt;TARGET_PACKAGE>}: List test packages for only this app.
+ </ul>
+</td>
+</tr>
-<p>When you are ready to exit the remote shell, use <code>CTRL+D</code> or <code>exit</code> to end the shell session. </p>
+<tr>
+<td><code>
+list features
+</code></td>
+<td>Prints all features of the system.
+</td>
+</tr>
-<p>The sections below provide more information about shell commands that you can use.</p>
-
-<a name="sqlite" id="sqlite"></a>
+<tr>
+<td><code>
+list libraries
+</code></td>
+<td>Prints all the libraries supported by the current device.
+</td>
+</tr>
-<h3>Examining sqlite3 Databases from a Remote Shell</h3>
+<tr>
+<td><code>
+list users
+</code></td>
+<td>Prints all users on the system.
+</td>
+</tr>
+
+<tr>
+<td><code>
+path &lt;PACKAGE>
+</code></td>
+<td>Print the path to the APK of the given {@code &lt;PACKAGE>}.
+</td>
+</tr>
+
+<tr>
+<td><code>
+install [options] &lt;PATH>
+</code></td>
+<td>Installs a package (specified by {@code &lt;PATH>}) to the system. <p>Options:
+ <ul>
+ <li>{@code -l}: Install the package with forward lock.
+ <li>{@code -r}: Reinstall an exisiting app, keeping its data.
+ <li>{@code -t}: Allow test APKs to be installed.
+ <li>{@code -i &lt;INSTALLER_PACKAGE_NAME>}: Specify the installer package name.
+ <li>{@code -s}: Install package on the shared mass storage (such as sdcard).
+ <li>{@code -f}: Install package on the internal system memory.
+ <li>{@code -d}: Allow version code downgrade.
+ </ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+uninstall [options] &lt;PACKAGE>
+</code></td>
+<td>Removes a package from the system. <p>Options:
+ <ul>
+ <li>{@code -k}: Keep the data and cache directories around after package removal.
+ </ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+clear &lt;PACKAGE>
+</code></td>
+<td>Deletes all data associated with a package.
+</td>
+</tr>
+
+<tr>
+<td><code>
+enable &lt;PACKAGE_OR_COMPONENT>
+</code></td>
+<td>Enable the given package or component (written as "package/class").
+</td>
+</tr>
+
+<tr>
+<td><code>
+disable &lt;PACKAGE_OR_COMPONENT>
+</code></td>
+<td>Disable the given package or component (written as "package/class").
+</td>
+</tr>
+
+<tr>
+<td style="white-space:nowrap"><code>
+disable-user [options] &lt;PACKAGE_OR_COMPONENT>
+</code></td>
+<td><p>Options:
+ <ul>
+ <li>{@code --user &lt;USER_ID>}: The user to disable.
+ </ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+grant &lt;PACKAGE_PERMISSION>
+</code></td>
+<td>Grant permissions
+ to applications. Only optional permissions the application has
+ declared can be granted.
+</td>
+</tr>
+
+<tr>
+<td><code>
+revoke &lt;PACKAGE_PERMISSION>
+</code></td>
+<td>Revoke permissions
+ to applications. Only optional permissions the application has
+ declared can be revoked.
+</td>
+</tr>
+
+<tr>
+<td><code>
+set-install-location &lt;LOCATION>
+</code></td>
+<td>Changes the default install location. Location values:
+<ul>
+ <li>{@code 0}: Auto&mdash;Let system decide the best location.
+ <li>{@code 1}: Internal&mdash;install on internal device storage.
+ <li>{@code 2}: External&mdash;install on external media.
+</ul>
+<p class="note"><strong>Note:</strong> This is only intended for debugging; using this can cause
+ applications to break and other undesireable behavior.</p>
+</td>
+</tr>
+
+<tr>
+<td><code>
+get-install-location
+</code></td>
+<td>Returns the current install location. Return values:
+<ul>
+ <li>{@code 0 [auto]}: Lets system decide the best location
+ <li>{@code 1 [internal]}: Installs on internal device storage
+ <li>{@code 2 [external]}: Installs on external media
+</ul>
+</td>
+</tr>
+
+<tr>
+<td><code>
+set-permission-enforced &lt;PERMISSION> [true|false]
+</code></td>
+<td>Specifies whether the given permission should be enforced.
+</td>
+</tr>
+
+<tr>
+<td><code>
+trim-caches &lt;DESIRED_FREE_SPACE>
+</code></td>
+<td>Trim cache files to reach the given free space.
+</td>
+</tr>
+
+<tr>
+<td><code>
+create-user &lt;USER_NAME>
+</code></td>
+<td>Create a new user with the given {@code &lt;USER_NAME>},
+ printing the new user identifier of the user.
+</td>
+</tr>
+
+<tr>
+<td><code>
+remove-user &lt;USER_ID>
+</code></td>
+<td>Remove the user with the given {@code &lt;USER_IDENTIFIER>},
+ deleting all data associated with that user
+</td>
+</tr>
+
+<tr>
+<td><code>
+get-max-users
+</code></td>
+<td>Prints the maximum number of users supported by the device.
+</td>
+</tr>
+
+</table>
+
+
+
+
+
+
+
+<h3 id="sqlite">Examining sqlite3 databases from a remote shell</h3>
<p>From an adb remote shell, you can use the
<a href="http://www.sqlite.org/sqlite.html">sqlite3</a> command-line program to
@@ -384,7 +1109,7 @@ The tool also gives you the ability to execute SQLite commands on the fly.</p>
<p>Here's an example: </p>
-<pre>$ adb -s emulator-5554 shell
+<pre class="no-pretty-print">adb -s emulator-5554 shell
# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter &quot;.help&quot; for instructions
@@ -394,34 +1119,40 @@ sqlite&gt; .exit </pre>
<p>Once you've invoked <code>sqlite3</code>, you can issue <code>sqlite3</code> commands in the shell. To exit and return to the adb remote shell, use <code>exit</code> or <code>CTRL+D</code>.
-<a name="monkey"></a>
-<h3>UI/Application Exerciser Monkey</h3>
+
+
+
+<h3 id="monkey">UI/Application Exerciser Monkey</h3>
<p>The Monkey is a program that runs on your emulator or device and generates pseudo-random
streams of user events such as clicks, touches, or gestures, as well as a number of system-level
events. You can use the Monkey to stress-test applications that you are developing,
in a random yet repeatable manner.</p>
-<p>The simplest way to use the monkey is with the following command, which will launch your
-application and send 500 pseudo-random events to it.</p>
+<p>The simplest way to use the monkey is with the following command, which launches your
+application and sends 500 pseudo-random events to it.</p>
-<pre>$ adb shell monkey -v -p your.package.name 500</pre>
+<pre class="no-pretty-print">adb shell monkey -v -p your.package.name 500</pre>
<p>For more information about command options for Monkey, see the complete
<a href="{@docRoot}tools/help/monkey.html" title="monkey">UI/Application Exerciser Monkey</a> documentation page.</p>
-<a name="othershellcommands"></a>
-<h3>Other Shell Commands</h3>
-<p>The table below lists several of the adb shell commands available. For a complete list of commands and programs, start an emulator instance and use the <code>adb -help</code> command. </p>
-<pre>adb shell ls /system/bin</pre>
+<h3 id="othershellcommands">Other shell commands</h3>
+
+<p>For a list of all the available shell programs, use the following command:</p>
+
+<pre class="no-pretty-print">adb shell ls /system/bin</pre>
<p>Help is available for most of the commands. </p>
+<p>Table 4 lists some of the more common adb shell commands.</p>
+
+<p class="table-caption"><strong>Table 4.</strong> Some other adb shell commands</p>
<table>
<tr>
<th>Shell Command</th>
@@ -442,8 +1173,8 @@ application and send 500 pseudo-random events to it.</p>
</tr>
<tr>
-<td><code>logcat&nbsp;[&lt;option&gt;]...&nbsp;[&lt;filter-spec&gt;]...</code></td>
-<td>Enables radio logging and prints output to the screen. </td>
+<td><code>logcat&nbsp;[option]...&nbsp;[filter-spec]...</code></td>
+<td>Enables system and app logging and prints output to the screen. </td>
</tr>
<tr>
@@ -464,39 +1195,47 @@ application and send 500 pseudo-random events to it.</p>
</tr>
</table>
+
+
+
+
+
+
+
<a name="stdout"></a>
<a name="usinglogcat"></a>
<a name="outputformat"></a>
<a name="filteringoutput"></a>
<a name="stdout"></a>
<a name="logcatoptions"></a>
-<a name="logcat"></a>
-<h2>Enabling logcat Logging</h2>
+<h2 id="logcat">Enabling logcat logging</h2>
<p>The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are collected in a series of circular buffers, which then can be viewed and filtered by the <code>logcat</code> command.</p>
<p>You can use the <code>logcat</code> command to view and follow the contents of the system's log buffers. The general usage is:</p>
-<pre>[adb] logcat [&lt;option&gt;] ... [&lt;filter-spec&gt;] ...</pre>
+<pre class="no-pretty-print">[adb] logcat [option] ... [filter-spec] ...</pre>
<p>You can use the <code>logcat</code> command from your development computer or from a remote adb shell in an emulator/device instance. To view log output in your development computer, you use</p>
-<pre>$ adb logcat</pre>
+<pre class="no-pretty-print">adb logcat</pre>
<p>and from a remote adb shell you use</p>
-<pre># logcat</pre>
+<pre class="no-pretty-print">logcat</pre>
<p>See <a href="{@docRoot}tools/debugging/debugging-log.html">Reading and Writing Logs</a> for complete information about logcat commend options and filter specifications.</p>
-<a name="stopping"></a>
-<h2>Stopping the adb Server</h2>
+
+
+<h2 id="stopping">Stopping the adb server</h2>
<p>In some cases, you might need to terminate the adb server process and then restart it. For example, if adb does not respond to a command, you can terminate the server and restart it and that may resolve the problem. </p>
-<p>To stop the adb server, use the <code>kill-server</code>. You can then restart the server by issuing any adb command. </p>
+<p>To stop the adb server, use the <code>kill-server</code> command.
+You can then restart the server by issuing any other adb command. </p>
diff --git a/docs/html/tools/help/uiautomator/index.jd b/docs/html/tools/help/uiautomator/index.jd
index 38ba177..e3899d6 100644
--- a/docs/html/tools/help/uiautomator/index.jd
+++ b/docs/html/tools/help/uiautomator/index.jd
@@ -76,11 +76,6 @@ You can list multiple classes or methods by using a space as a separator.</p></t
</tr>
<tr>
-<td><nobr><code>-e runner [CLASS]</code></nobr></td>
-<td>Use the specified test runner class instead. If unspecified, the {@code uiautomator} framework’s default runner will be used.</td>
-</tr>
-
-<tr>
<td><code>dump</code></td>
<td><code>[file]</code></td>
<td>Generate an XML file with a dump of the current UI hierarchy. If a filepath is not specified, by default, the generated dump file is stored on the device in this location {@code /storage/sdcard0/window_dump.xml}.</td>
diff --git a/docs/html/tools/publishing/app-signing.jd b/docs/html/tools/publishing/app-signing.jd
index ac45242..608780e 100644
--- a/docs/html/tools/publishing/app-signing.jd
+++ b/docs/html/tools/publishing/app-signing.jd
@@ -96,8 +96,7 @@ you compile.</p>
you don't have a private key, you can use the Keytool utility to create one for you. When you
compile your application in release mode, the build tools use your private key along with the
Jarsigner utility to sign your application's <code>.apk</code> file. Because the certificate and
-private key you use are your own, you will have to provide the password for the keystore and key
-alias.</p>
+private key you use are your own, you must provide the password for the keystore and key alias.</p>
<p>The debug signing process happens automatically when you run or debug your application using
Eclipse with the ADT plugin. Debug signing also happens automatically when you use the Ant build
@@ -117,13 +116,13 @@ lifespan of your applications. There are several reasons why you should do so: <
<ul>
<li>Application upgrade &ndash; As you release updates to your application, you
-will want to continue to sign the updates with the same certificate or set of
-certificates, if you want users to upgrade seamlessly to the new version. When
+must continue to sign the updates with the same certificate or set of certificates,
+if you want users to be able to upgrade seamlessly to the new version. When
the system is installing an update to an application, it compares the
certificate(s) in the new version with those in the existing version. If the
certificates match exactly, including both the certificate data and order, then
the system allows the update. If you sign the new version without using matching
-certificates, you will also need to assign a different package name to the
+certificates, you must also assign a different package name to the
application &mdash; in this case, the user installs the new version as a
completely new application. </li>
@@ -314,6 +313,13 @@ your key secure and why doing so is critically important to you and to users. In
particular, when you are generating your key, you should select strong passwords
for both the keystore and key.</p>
+<p class="warning"><strong>Warning:</strong> Keep the keystore file you generate with Keytool
+in a safe, secure place. You must use the same key to sign future versions of your application. If
+you republish your app with a new key, Google Play will consider it a new app. For more information
+on settings that must remain constant over the life of your app, see the Android Developer Blog post
+<a href="http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html">Things
+That Cannot Change</a>.</p>
+
<table>
<tr>
<th>Keytool Option</th>
@@ -597,6 +603,10 @@ replace your authentic applications or corrupt them. Such a person could also
sign and distribute applications under your identity that attack other
applications or the system itself, or corrupt or steal user data. </p>
+<p>Your private key is required for signing all future versions of your application. If you lose or
+misplace your key, you will not be able to publish updates to your existing application. You cannot
+regenerate a previously generated key.</p>
+
<p>Your reputation as a developer entity depends on your securing your private
key properly, at all times, until the key is expired. Here are some tips for
keeping your key secure: </p>
@@ -612,7 +622,9 @@ which any user on your computer could access.</li>
options at the command line. </li>
<li>Do not give or lend anyone your private key, and do not let unauthorized
persons know your keystore and key passwords.</li>
+<li>Keep the keystore file containing your private key that you <a href="#cert">generate with the
+Keytool</a> in a safe, secure place.</li>
</ul>
<p>In general, if you follow common-sense precautions when generating, using,
-and storing your key, it will remain secure. </p> \ No newline at end of file
+and storing your key, it will remain secure. </p>
diff --git a/docs/html/tools/sdk/eclipse-adt.jd b/docs/html/tools/sdk/eclipse-adt.jd
index 243683c..4adb7b2 100644
--- a/docs/html/tools/sdk/eclipse-adt.jd
+++ b/docs/html/tools/sdk/eclipse-adt.jd
@@ -57,6 +57,63 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+ alt=""/>ADT 21.1.0</a> <em>(February 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+<dl>
+ <dt>Dependencies:</dt>
+
+ <dd>
+ <ul>
+ <li>Java 1.6 or higher is required for ADT 21.1.0.</li>
+ <li>Eclipse Helios (Version 3.6.2) or higher is required for ADT 21.1.0.</li>
+ <li>ADT 21.1.0 is designed for use with <a href="{@docRoot}tools/sdk/tools-notes.html">SDK
+ Tools r21.1.0</a>. If you haven't already installed SDK Tools r21.1.0 into your SDK, use the
+ Android SDK Manager to do so.</li>
+ </ul>
+ </dd>
+
+ <dt>General Notes:</dt>
+ <dd>
+ <ul>
+ <li>Added new <a href="{@docRoot}tools/projects/templates.html">code templates</a> for
+ notifications, blank fragments and list fragments.</li>
+ <li>Added support for resource rename refactoring. Renaming a resource XML file, drawable
+ icon, an {@code R.} field name or ID in the layout editor invokes a refactoring routine
+ to update all resource references.</li>
+ <li>Added more than 15 new Lint checks, including checks for overriding older APIs, XML
+ resource problems, graphic asset issues and manifest tags.
+ <li>Updated XML Editor to respond to refactoring shortcut keys such as <strong>Refactor
+ &gt; Rename</strong>.</li>
+ <li>Updated XML Editor to improve double click handling.</li>
+ <li>Added code completion improvements for custom views, theme references and class
+ references. For example, code completion in a {@code &lt;fragment android:name=””&gt;} tag
+ now suggests completion with a list of fragment classes. Similarly, code completion in the
+ manifest now offers implementations suitable for the given tag.</li>
+ <li>Updated the <strong>Project Import</strong> dialog so that it shows a table for all
+ imported projects where you can edit the name of the imported project.</li>
+ <li>Added support for layout aliases in the Layout Editor.</li>
+ </ul>
+ </dd>
+
+ <dt>Bug fixes:</dt>
+ <dd>
+ <ul>
+ <li>Fixed issued with refactoring support for renaming and moving classes and packages.
+ </li>
+ </ul>
+ </dd>
+
+</dl>
+</div>
+</div>
+
+
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>ADT 21.0.1</a> <em>(December 2012)</em>
</p>
diff --git a/docs/html/tools/sdk/images/2.0/camera-modes.png b/docs/html/tools/sdk/images/2.0/camera-modes.png
deleted file mode 100644
index ac4c1da..0000000
--- a/docs/html/tools/sdk/images/2.0/camera-modes.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.0/email-inbox.png b/docs/html/tools/sdk/images/2.0/email-inbox.png
deleted file mode 100644
index 50d1c19..0000000
--- a/docs/html/tools/sdk/images/2.0/email-inbox.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.0/mms-search.png b/docs/html/tools/sdk/images/2.0/mms-search.png
deleted file mode 100644
index 22c7dca..0000000
--- a/docs/html/tools/sdk/images/2.0/mms-search.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.0/multiple-accounts.png b/docs/html/tools/sdk/images/2.0/multiple-accounts.png
deleted file mode 100644
index aa4cb15..0000000
--- a/docs/html/tools/sdk/images/2.0/multiple-accounts.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.0/quick-connect.png b/docs/html/tools/sdk/images/2.0/quick-connect.png
deleted file mode 100644
index 0bbf7dd..0000000
--- a/docs/html/tools/sdk/images/2.0/quick-connect.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22browser.png b/docs/html/tools/sdk/images/2.2/22browser.png
deleted file mode 100644
index 817439d..0000000
--- a/docs/html/tools/sdk/images/2.2/22browser.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22exchange.png b/docs/html/tools/sdk/images/2.2/22exchange.png
deleted file mode 100644
index 1fa1f59..0000000
--- a/docs/html/tools/sdk/images/2.2/22exchange.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22gallery.png b/docs/html/tools/sdk/images/2.2/22gallery.png
deleted file mode 100644
index 0cb74ad..0000000
--- a/docs/html/tools/sdk/images/2.2/22gallery.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22home.png b/docs/html/tools/sdk/images/2.2/22home.png
deleted file mode 100644
index a11ea30..0000000
--- a/docs/html/tools/sdk/images/2.2/22home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22hotspot.png b/docs/html/tools/sdk/images/2.2/22hotspot.png
deleted file mode 100644
index 0951439..0000000
--- a/docs/html/tools/sdk/images/2.2/22hotspot.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/22keyboard.png b/docs/html/tools/sdk/images/2.2/22keyboard.png
deleted file mode 100644
index 69f95ca..0000000
--- a/docs/html/tools/sdk/images/2.2/22keyboard.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.2/jit-graph.png b/docs/html/tools/sdk/images/2.2/jit-graph.png
deleted file mode 100644
index 52b8d60..0000000
--- a/docs/html/tools/sdk/images/2.2/jit-graph.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/ffc.png b/docs/html/tools/sdk/images/2.3/ffc.png
deleted file mode 100644
index 136a395..0000000
--- a/docs/html/tools/sdk/images/2.3/ffc.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/home-menu.png b/docs/html/tools/sdk/images/2.3/home-menu.png
deleted file mode 100644
index e9c8620..0000000
--- a/docs/html/tools/sdk/images/2.3/home-menu.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/home-plain.png b/docs/html/tools/sdk/images/2.3/home-plain.png
deleted file mode 100644
index a6255f6..0000000
--- a/docs/html/tools/sdk/images/2.3/home-plain.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/nfc.png b/docs/html/tools/sdk/images/2.3/nfc.png
deleted file mode 100644
index a21b6ab..0000000
--- a/docs/html/tools/sdk/images/2.3/nfc.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/onetouch.png b/docs/html/tools/sdk/images/2.3/onetouch.png
deleted file mode 100644
index 2789612..0000000
--- a/docs/html/tools/sdk/images/2.3/onetouch.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/power.png b/docs/html/tools/sdk/images/2.3/power.png
deleted file mode 100644
index 7b0785d..0000000
--- a/docs/html/tools/sdk/images/2.3/power.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/running.png b/docs/html/tools/sdk/images/2.3/running.png
deleted file mode 100644
index fe9a1a0..0000000
--- a/docs/html/tools/sdk/images/2.3/running.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/selection.png b/docs/html/tools/sdk/images/2.3/selection.png
deleted file mode 100644
index 46ff28c..0000000
--- a/docs/html/tools/sdk/images/2.3/selection.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/2.3/sipcall.png b/docs/html/tools/sdk/images/2.3/sipcall.png
deleted file mode 100644
index 48a5a1d..0000000
--- a/docs/html/tools/sdk/images/2.3/sipcall.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/browser.png b/docs/html/tools/sdk/images/3.0/browser.png
deleted file mode 100644
index 0f16b27..0000000
--- a/docs/html/tools/sdk/images/3.0/browser.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/browser_full.png b/docs/html/tools/sdk/images/3.0/browser_full.png
deleted file mode 100644
index 08a329d..0000000
--- a/docs/html/tools/sdk/images/3.0/browser_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/camera.png b/docs/html/tools/sdk/images/3.0/camera.png
deleted file mode 100644
index 7dabdfc..0000000
--- a/docs/html/tools/sdk/images/3.0/camera.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/camera_full.png b/docs/html/tools/sdk/images/3.0/camera_full.png
deleted file mode 100644
index 3ee95c9..0000000
--- a/docs/html/tools/sdk/images/3.0/camera_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/contacts.png b/docs/html/tools/sdk/images/3.0/contacts.png
deleted file mode 100644
index 9304701..0000000
--- a/docs/html/tools/sdk/images/3.0/contacts.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/contacts_full.png b/docs/html/tools/sdk/images/3.0/contacts_full.png
deleted file mode 100644
index b5eaf5b..0000000
--- a/docs/html/tools/sdk/images/3.0/contacts_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/copy.png b/docs/html/tools/sdk/images/3.0/copy.png
deleted file mode 100644
index d5a4c3e..0000000
--- a/docs/html/tools/sdk/images/3.0/copy.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/copy_full.png b/docs/html/tools/sdk/images/3.0/copy_full.png
deleted file mode 100644
index 124cf52..0000000
--- a/docs/html/tools/sdk/images/3.0/copy_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/home_hero1.png b/docs/html/tools/sdk/images/3.0/home_hero1.png
deleted file mode 100644
index c00391f..0000000
--- a/docs/html/tools/sdk/images/3.0/home_hero1.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/home_hero1_full.png b/docs/html/tools/sdk/images/3.0/home_hero1_full.png
deleted file mode 100644
index 1910ed2..0000000
--- a/docs/html/tools/sdk/images/3.0/home_hero1_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/homescreen_cust_port.png b/docs/html/tools/sdk/images/3.0/homescreen_cust_port.png
deleted file mode 100644
index b003a30..0000000
--- a/docs/html/tools/sdk/images/3.0/homescreen_cust_port.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/homescreen_cust_port_full.png b/docs/html/tools/sdk/images/3.0/homescreen_cust_port_full.png
deleted file mode 100644
index 9c64edd..0000000
--- a/docs/html/tools/sdk/images/3.0/homescreen_cust_port_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/mail_drag.png b/docs/html/tools/sdk/images/3.0/mail_drag.png
deleted file mode 100644
index 1f09a7a..0000000
--- a/docs/html/tools/sdk/images/3.0/mail_drag.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/mail_drag_full.png b/docs/html/tools/sdk/images/3.0/mail_drag_full.png
deleted file mode 100644
index be4472f..0000000
--- a/docs/html/tools/sdk/images/3.0/mail_drag_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/tasks.png b/docs/html/tools/sdk/images/3.0/tasks.png
deleted file mode 100644
index a4ba1ba..0000000
--- a/docs/html/tools/sdk/images/3.0/tasks.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/tasks_full.png b/docs/html/tools/sdk/images/3.0/tasks_full.png
deleted file mode 100644
index d2a2241..0000000
--- a/docs/html/tools/sdk/images/3.0/tasks_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.0/widgets.png b/docs/html/tools/sdk/images/3.0/widgets.png
deleted file mode 100644
index d847666..0000000
--- a/docs/html/tools/sdk/images/3.0/widgets.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.1/controls.png b/docs/html/tools/sdk/images/3.1/controls.png
deleted file mode 100644
index e0ca1f8..0000000
--- a/docs/html/tools/sdk/images/3.1/controls.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.1/home.png b/docs/html/tools/sdk/images/3.1/home.png
deleted file mode 100644
index ea0a75a..0000000
--- a/docs/html/tools/sdk/images/3.1/home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.1/home_full.png b/docs/html/tools/sdk/images/3.1/home_full.png
deleted file mode 100644
index 2b8e85e..0000000
--- a/docs/html/tools/sdk/images/3.1/home_full.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.1/resizeable.png b/docs/html/tools/sdk/images/3.1/resizeable.png
deleted file mode 100644
index c9f5e8e..0000000
--- a/docs/html/tools/sdk/images/3.1/resizeable.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/3.1/tasks.png b/docs/html/tools/sdk/images/3.1/tasks.png
deleted file mode 100644
index 89d69e5..0000000
--- a/docs/html/tools/sdk/images/3.1/tasks.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/allapps-lg.png b/docs/html/tools/sdk/images/4.0/allapps-lg.png
deleted file mode 100644
index f5eba3c..0000000
--- a/docs/html/tools/sdk/images/4.0/allapps-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/allapps.png b/docs/html/tools/sdk/images/4.0/allapps.png
deleted file mode 100644
index 317a49a..0000000
--- a/docs/html/tools/sdk/images/4.0/allapps.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/bbench.png b/docs/html/tools/sdk/images/4.0/bbench.png
deleted file mode 100644
index f113092..0000000
--- a/docs/html/tools/sdk/images/4.0/bbench.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/beam-lg.png b/docs/html/tools/sdk/images/4.0/beam-lg.png
deleted file mode 100644
index 608fc94..0000000
--- a/docs/html/tools/sdk/images/4.0/beam-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/beam-maps-lg.png b/docs/html/tools/sdk/images/4.0/beam-maps-lg.png
deleted file mode 100644
index 96ac235..0000000
--- a/docs/html/tools/sdk/images/4.0/beam-maps-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/beam-maps.png b/docs/html/tools/sdk/images/4.0/beam-maps.png
deleted file mode 100644
index 63b6756..0000000
--- a/docs/html/tools/sdk/images/4.0/beam-maps.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/beam.png b/docs/html/tools/sdk/images/4.0/beam.png
deleted file mode 100644
index 0eb7d26..0000000
--- a/docs/html/tools/sdk/images/4.0/beam.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/browser-lg.png b/docs/html/tools/sdk/images/4.0/browser-lg.png
deleted file mode 100644
index fe3fe81..0000000
--- a/docs/html/tools/sdk/images/4.0/browser-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/browser-tabs-lg.png b/docs/html/tools/sdk/images/4.0/browser-tabs-lg.png
deleted file mode 100644
index 0ea8f10..0000000
--- a/docs/html/tools/sdk/images/4.0/browser-tabs-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/browser-tabs.png b/docs/html/tools/sdk/images/4.0/browser-tabs.png
deleted file mode 100644
index 413b0c6..0000000
--- a/docs/html/tools/sdk/images/4.0/browser-tabs.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/browser.png b/docs/html/tools/sdk/images/4.0/browser.png
deleted file mode 100644
index 4bc8179..0000000
--- a/docs/html/tools/sdk/images/4.0/browser.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/calendar-widget-lg.png b/docs/html/tools/sdk/images/4.0/calendar-widget-lg.png
deleted file mode 100644
index 39fc986..0000000
--- a/docs/html/tools/sdk/images/4.0/calendar-widget-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/calendar-widget.png b/docs/html/tools/sdk/images/4.0/calendar-widget.png
deleted file mode 100644
index 80a57f7..0000000
--- a/docs/html/tools/sdk/images/4.0/calendar-widget.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/camera-lg.png b/docs/html/tools/sdk/images/4.0/camera-lg.png
deleted file mode 100644
index 7d96a4f..0000000
--- a/docs/html/tools/sdk/images/4.0/camera-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/camera.png b/docs/html/tools/sdk/images/4.0/camera.png
deleted file mode 100644
index 7454549..0000000
--- a/docs/html/tools/sdk/images/4.0/camera.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-call-lg.png b/docs/html/tools/sdk/images/4.0/contact-call-lg.png
deleted file mode 100644
index 40b1f40..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-call-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-call.png b/docs/html/tools/sdk/images/4.0/contact-call.png
deleted file mode 100644
index 5550b57..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-call.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-connect-lg.png b/docs/html/tools/sdk/images/4.0/contact-connect-lg.png
deleted file mode 100644
index ad0d04c..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-connect-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-connect.png b/docs/html/tools/sdk/images/4.0/contact-connect.png
deleted file mode 100644
index d958206..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-connect.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-email-lg.png b/docs/html/tools/sdk/images/4.0/contact-email-lg.png
deleted file mode 100644
index db75a46..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-email-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-email.png b/docs/html/tools/sdk/images/4.0/contact-email.png
deleted file mode 100644
index 9e5460d..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-email.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-faves-lg.png b/docs/html/tools/sdk/images/4.0/contact-faves-lg.png
deleted file mode 100644
index 1ec3fd0..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-faves-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/contact-faves.png b/docs/html/tools/sdk/images/4.0/contact-faves.png
deleted file mode 100644
index 57e4ca6..0000000
--- a/docs/html/tools/sdk/images/4.0/contact-faves.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/face-unlock-lg.png b/docs/html/tools/sdk/images/4.0/face-unlock-lg.png
deleted file mode 100644
index 3fd1695..0000000
--- a/docs/html/tools/sdk/images/4.0/face-unlock-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/face-unlock.png b/docs/html/tools/sdk/images/4.0/face-unlock.png
deleted file mode 100644
index 00afb83..0000000
--- a/docs/html/tools/sdk/images/4.0/face-unlock.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/gallery-edit-lg.png b/docs/html/tools/sdk/images/4.0/gallery-edit-lg.png
deleted file mode 100644
index 3d6688f..0000000
--- a/docs/html/tools/sdk/images/4.0/gallery-edit-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/gallery-edit.png b/docs/html/tools/sdk/images/4.0/gallery-edit.png
deleted file mode 100644
index 69744ec..0000000
--- a/docs/html/tools/sdk/images/4.0/gallery-edit.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/gallery-share-lg.png b/docs/html/tools/sdk/images/4.0/gallery-share-lg.png
deleted file mode 100644
index 749f51e..0000000
--- a/docs/html/tools/sdk/images/4.0/gallery-share-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/gallery-share.png b/docs/html/tools/sdk/images/4.0/gallery-share.png
deleted file mode 100644
index 443a70c..0000000
--- a/docs/html/tools/sdk/images/4.0/gallery-share.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/gallery-widget.png b/docs/html/tools/sdk/images/4.0/gallery-widget.png
deleted file mode 100644
index e72fd0d..0000000
--- a/docs/html/tools/sdk/images/4.0/gallery-widget.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/home-lg.png b/docs/html/tools/sdk/images/4.0/home-lg.png
deleted file mode 100644
index 5b9021d..0000000
--- a/docs/html/tools/sdk/images/4.0/home-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/home.png b/docs/html/tools/sdk/images/4.0/home.png
deleted file mode 100644
index cd24732..0000000
--- a/docs/html/tools/sdk/images/4.0/home.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/live-effects.png b/docs/html/tools/sdk/images/4.0/live-effects.png
deleted file mode 100644
index 11a0122..0000000
--- a/docs/html/tools/sdk/images/4.0/live-effects.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/lock-camera-lg.png b/docs/html/tools/sdk/images/4.0/lock-camera-lg.png
deleted file mode 100644
index c82cec6..0000000
--- a/docs/html/tools/sdk/images/4.0/lock-camera-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/lock-camera.png b/docs/html/tools/sdk/images/4.0/lock-camera.png
deleted file mode 100644
index d3cc153..0000000
--- a/docs/html/tools/sdk/images/4.0/lock-camera.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/lock-lg.png b/docs/html/tools/sdk/images/4.0/lock-lg.png
deleted file mode 100644
index b859e11..0000000
--- a/docs/html/tools/sdk/images/4.0/lock-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/lock.png b/docs/html/tools/sdk/images/4.0/lock.png
deleted file mode 100644
index d168826..0000000
--- a/docs/html/tools/sdk/images/4.0/lock.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/quick-responses-lg.png b/docs/html/tools/sdk/images/4.0/quick-responses-lg.png
deleted file mode 100644
index 39cea9a..0000000
--- a/docs/html/tools/sdk/images/4.0/quick-responses-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/quick-responses.png b/docs/html/tools/sdk/images/4.0/quick-responses.png
deleted file mode 100644
index d43f348..0000000
--- a/docs/html/tools/sdk/images/4.0/quick-responses.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/screenshot-lg.png b/docs/html/tools/sdk/images/4.0/screenshot-lg.png
deleted file mode 100644
index 30ac339..0000000
--- a/docs/html/tools/sdk/images/4.0/screenshot-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/screenshot.png b/docs/html/tools/sdk/images/4.0/screenshot.png
deleted file mode 100644
index b23c913..0000000
--- a/docs/html/tools/sdk/images/4.0/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/tasks-lg.png b/docs/html/tools/sdk/images/4.0/tasks-lg.png
deleted file mode 100644
index 58b5c5d..0000000
--- a/docs/html/tools/sdk/images/4.0/tasks-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/tasks.png b/docs/html/tools/sdk/images/4.0/tasks.png
deleted file mode 100644
index 34a9d4a..0000000
--- a/docs/html/tools/sdk/images/4.0/tasks.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/text-replace-lg.png b/docs/html/tools/sdk/images/4.0/text-replace-lg.png
deleted file mode 100644
index 047d802..0000000
--- a/docs/html/tools/sdk/images/4.0/text-replace-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/text-replace.png b/docs/html/tools/sdk/images/4.0/text-replace.png
deleted file mode 100644
index d2bda3e..0000000
--- a/docs/html/tools/sdk/images/4.0/text-replace.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/tts-lg.png b/docs/html/tools/sdk/images/4.0/tts-lg.png
deleted file mode 100644
index 2f49051..0000000
--- a/docs/html/tools/sdk/images/4.0/tts-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/tts.png b/docs/html/tools/sdk/images/4.0/tts.png
deleted file mode 100644
index 3eae634..0000000
--- a/docs/html/tools/sdk/images/4.0/tts.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/usage-all-lg.png b/docs/html/tools/sdk/images/4.0/usage-all-lg.png
deleted file mode 100644
index fd7eeba..0000000
--- a/docs/html/tools/sdk/images/4.0/usage-all-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/usage-all.png b/docs/html/tools/sdk/images/4.0/usage-all.png
deleted file mode 100644
index 048db83..0000000
--- a/docs/html/tools/sdk/images/4.0/usage-all.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/usage-maps-lg.png b/docs/html/tools/sdk/images/4.0/usage-maps-lg.png
deleted file mode 100644
index b144370..0000000
--- a/docs/html/tools/sdk/images/4.0/usage-maps-lg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/4.0/usage-maps.png b/docs/html/tools/sdk/images/4.0/usage-maps.png
deleted file mode 100644
index a6dcd21..0000000
--- a/docs/html/tools/sdk/images/4.0/usage-maps.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/battery.png b/docs/html/tools/sdk/images/battery.png
deleted file mode 100644
index 10fd16b..0000000
--- a/docs/html/tools/sdk/images/battery.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/camera.png b/docs/html/tools/sdk/images/camera.png
deleted file mode 100644
index 6078388..0000000
--- a/docs/html/tools/sdk/images/camera.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/donut_small_bg.png b/docs/html/tools/sdk/images/donut_small_bg.png
deleted file mode 100644
index f514b50..0000000
--- a/docs/html/tools/sdk/images/donut_small_bg.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/market.png b/docs/html/tools/sdk/images/market.png
deleted file mode 100644
index 8d11134..0000000
--- a/docs/html/tools/sdk/images/market.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/images/search.png b/docs/html/tools/sdk/images/search.png
deleted file mode 100644
index 10ab910..0000000
--- a/docs/html/tools/sdk/images/search.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd
index f3c9a44..cb4954b 100644
--- a/docs/html/tools/sdk/ndk/index.jd
+++ b/docs/html/tools/sdk/ndk/index.jd
@@ -1,4 +1,5 @@
ndk=true
+page.template=sdk
ndk.win_download=android-ndk-r8d-windows.zip
ndk.win_bytes=327014028
diff --git a/docs/html/tools/sdk/preview/index.jd b/docs/html/tools/sdk/preview/index.jd
index ed8f7e0..d96df93 100644
--- a/docs/html/tools/sdk/preview/index.jd
+++ b/docs/html/tools/sdk/preview/index.jd
@@ -1,2 +1,3 @@
sdk.redirect=true
+page.template=sdk
@jd:body
diff --git a/docs/html/tools/sdk/tools-notes.jd b/docs/html/tools/sdk/tools-notes.jd
index 9349a4e..a5b7eee 100644
--- a/docs/html/tools/sdk/tools-notes.jd
+++ b/docs/html/tools/sdk/tools-notes.jd
@@ -28,6 +28,41 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+ alt=""/>SDK Tools, Revision 21.1.0</a> <em>(February 2013)</em>
+ </p>
+
+ <div class="toggle-content-toggleme">
+
+ <dl>
+ <dt>Dependencies:</dt>
+ <dd>
+ <ul>
+ <li>Android SDK Platform-tools revision 16 or later.</li>
+ <li>If you are developing in Eclipse with ADT, note that the SDK Tools r21.1.0 is
+ designed for use with ADT 21.1.0 and later. If you haven't already, update your
+ <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.1.0.</li>
+ <li>If you are developing outside Eclipse, you must have
+ <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
+ </ul>
+ </dd>
+
+ <dt>General Notes:</dt>
+ <dd>
+ <ul>
+ <li>Improved error reporting in {@code dx} when dex merging fails in the build
+ system.</li>
+ <li>Added more than 15 new Lint checks, including checks for overriding older APIs, XML
+ resource problems, graphic asset issues and manifest tags.</li>
+ <li>Added new aapt feature to compile resources.</li>
+ </ul>
+ </dd>
+ </dl>
+ </div>
+</div>
+
+<div class="toggle-content closed">
+ <p><a href="#" onclick="return toggleContent(this)">
+ <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>SDK Tools, Revision 21.0.1</a> <em>(December 2012)</em>
</p>
@@ -40,7 +75,7 @@ href="http://tools.android.com/knownissues">http://tools.android.com/knownissues
<li>Android SDK Platform-tools revision 16 or later.</li>
<li>If you are developing in Eclipse with ADT, note that the SDK Tools r21.0.1 is
designed for use with ADT 21.0.1 and later. If you haven't already, update your
- <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.0.0.</li>
+ <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.0.1.</li>
<li>If you are developing outside Eclipse, you must have
<a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
</ul>
diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs
index 4baa9c3..91a018c 100644
--- a/docs/html/tools/tools_toc.cs
+++ b/docs/html/tools/tools_toc.cs
@@ -32,33 +32,33 @@
<li class="nav-section">
<div class="nav-section-header">
- <a href="/tools/workflow/index.html"><span class="en">Workflow</span></a>
+ <a href="<?cs var:toroot ?>tools/workflow/index.html"><span class="en">Workflow</span></a>
</div>
<ul>
<li class="nav-section">
- <div class="nav-section-header"><a href="/tools/devices/index.html"><span class="en">Setting Up Virtual Devices</span></a></div>
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/devices/index.html"><span class="en">Setting Up Virtual Devices</span></a></div>
<ul>
- <li><a href="/tools/devices/managing-avds.html"><span class="en">With AVD Manager</span></a></li>
- <li><a href="/tools/devices/managing-avds-cmdline.html"><span class="en">From the Command Line</span></a></li>
- <li><a href="/tools/devices/emulator.html"><span class="en">Using the Android Emulator</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/devices/managing-avds.html"><span class="en">With AVD Manager</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/devices/managing-avds-cmdline.html"><span class="en">From the Command Line</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/devices/emulator.html"><span class="en">Using the Android Emulator</span></a></li>
</ul>
</li>
- <li><a href="/tools/device.html"><span class="en">Using Hardware Devices</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/device.html"><span class="en">Using Hardware Devices</span></a></li>
<li class="nav-section">
- <div class="nav-section-header"><a href="/tools/projects/index.html"><span class="en">Setting Up Projects</span></a></div>
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/projects/index.html"><span class="en">Setting Up Projects</span></a></div>
<ul>
- <li><a href="/tools/projects/projects-eclipse.html"><span class="en">From Eclipse with ADT</span></a></li>
- <li><a href="/tools/projects/projects-cmdline.html"><span class="en">From the Command Line</span></a></li>
- <li><a href="/tools/projects/templates.html"><span class="en">Using Code Templates</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/projects/projects-eclipse.html"><span class="en">From Eclipse with ADT</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/projects/projects-cmdline.html"><span class="en">From the Command Line</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/projects/templates.html"><span class="en">Using Code Templates</span></a></li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="/tools/building/index.html"><span class="en">Building and Running</span></a></div>
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/building/index.html"><span class="en">Building and Running</span></a></div>
<ul>
- <li><a href="/tools/building/building-eclipse.html"><span class="en">From Eclipse with ADT</span></a></li>
- <li><a href="/tools/building/building-cmdline.html"><span class="en">From the Command Line</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/building/building-eclipse.html"><span class="en">From Eclipse with ADT</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/building/building-cmdline.html"><span class="en">From the Command Line</span></a></li>
</ul>
</li>
diff --git a/docs/html/tools/workflow/publishing/publishing.jd b/docs/html/tools/workflow/publishing/publishing.jd
index 400f56f..649e80d 100644
--- a/docs/html/tools/workflow/publishing/publishing.jd
+++ b/docs/html/tools/workflow/publishing/publishing.jd
@@ -58,11 +58,11 @@ Applications</a>.</p>
publish it on an application marketplace like Google Play. Publishing on Google Play is a
straightforward process that you can do in just a few simple steps&mdash;register, configure,
upload, and publish. Registration takes only a few minutes and needs to be done only once.
-The configuration and publishing steps can all be done through the Google Play Android Developer Console
+The configuration and publishing steps can all be done through the Google Play Developer Console
after you register as a Google Play developer.</p>
<p>To start publishing on Google Play, first read this topic and then go to the <a
-href="https://play.google.com/apps/publish">Google Play Android Developer Console</a> and register as
+href="https://play.google.com/apps/publish">Google Play Developer Console</a> and register as
a Google Play developer.</p>
@@ -632,21 +632,21 @@ $(document).ready(function() {
<div class="button-row">
<input type="radio" name="buttonStyle" value="get_it_on_play_logo_small" id="ns" checked="checked" />
- <label for="ns"><img src="http://www.android.com/images/brand/get_it_on_play_logo_small.png"
+ <label for="ns"><img src="//www.android.com/images/brand/get_it_on_play_logo_small.png"
alt="Get it on Google Play (small)" /></label>
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="buttonStyle" value="get_it_on_play_logo_large" id="nm" />
- <label for="nm"><img src="http://www.android.com/images/brand/get_it_on_play_logo_large.png"
+ <label for="nm"><img src="//www.android.com/images/brand/get_it_on_play_logo_large.png"
alt="Get it on Google Play (large)" /></label>
</div>
<div class="button-row">
<input type="radio" name="buttonStyle" value="android_app_on_play_logo_small" id="ws" />
- <label for="ws"><img src="http://www.android.com/images/brand/android_app_on_play_logo_small.png"
+ <label for="ws"><img src="//www.android.com/images/brand/android_app_on_play_logo_small.png"
alt="Android app on Google Play (small)" /></label>
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="buttonStyle" value="android_app_on_play_logo_large" id="wm" />
- <label for="wm"><img src="http://www.android.com/images/brand/android_app_on_play_logo_large.png"
+ <label for="wm"><img src="//www.android.com/images/brand/android_app_on_play_logo_large.png"
alt="Android app on Google Play (large)" /></label>
</div>