Home | History | Annotate | Download | only in help
      1 page.title=Tools Help
      2 @jd:body
      3 
      4 
      5 <p>The Android SDK includes a variety of tools that help you develop mobile
      6 applications for the Android platform. The tools are classified into two groups: SDK tools
      7 and platform tools. SDK tools are platform independent and are required no matter which
      8 Android platform you are developing on. Platform tools are customized to support the features of the
      9 latest Android platform.</p>
     10 
     11 
     12 <h2 id="tools-sdk">SDK Tools</h2>
     13 <p>The SDK tools are installed with the SDK starter package and are periodically updated.
     14 The SDK tools are required if you are developing Android applications. The most important SDK tools
     15 include the Android SDK Manager (<code>android sdk</code>), the AVD Manager (<code>android
     16 avd</code>) the emulator (<code>emulator</code>), and the Dalvik Debug Monitor Server
     17 (<code>ddms</code>). A short summary of some frequently-used SDK tools is provided below.</p>
     18 
     19 
     20 
     21 <h3 id="tools-virtual-device">Virtual Device Tools</h3>
     22 <dl>
     23 
     24   <dt><a href="{@docRoot}tools/help/avd-manager.html">Android Virtual Device Manager</a></dt>
     25     <dd>The AVD Manager provides a graphical user interface in which you can create
     26         and manage Android Virtual Devices (AVDs) that run in the Android Emulator. </dd>
     27 
     28   <dt><a href="{@docRoot}tools/help/emulator.html">Android Emulator (emulator)</a></dt>
     29     <dd>A QEMU-based device-emulation tool that you can use to debug and test
     30         your applications in an actual Android run-time environment.</dd>
     31 
     32   <dt><a href="{@docRoot}tools/help/mksdcard.html">mksdcard</a></dt>
     33     <dd>Helps you create a disk image that you can use with the emulator, to simulate the presence
     34         of an external storage card (such as an SD card).</dd>
     35 
     36 </dl>
     37 
     38 
     39 
     40 
     41 <h3 id="tools-development">Development Tools</h3>
     42 <dl>
     43   <dt><a href="{@docRoot}tools/help/android.html">android</a></dt>
     44     <dd>Lets you manage AVDs, projects, and the installed components of the SDK.</dd>
     45 
     46   <dt><a href="{@docRoot}tools/help/hierarchy-viewer.html">Hierarchy Viewer (hierarchyviewer)</a></dt>
     47     <dd>Provides a visual representation of the layout's View hierarchy with performance information
     48         for each node in the layout, and a magnified view of the display to closely examine the
     49         pixels in your layout.</dd>
     50 
     51   <dt><a href="{@docRoot}tools/help/lint.html">lint</a></dt>
     52     <dd>The Android {@code lint} tool is a static code analysis tool that checks your Android
     53         project source files for potential bugs and optimization improvements.</dd>
     54 
     55   <dt><a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a></dt>
     56     <dd>Lets you manage SDK packages, such as installed platforms and system images.</dd>
     57 
     58   <dt><a href="{@docRoot}tools/help/sqlite3.html">sqlite3</a></dt>
     59     <dd>Lets you access the SQLite data files created and used by Android applications.</dd>
     60 
     61 </dl>
     62 
     63 
     64 
     65 <h3 id="tools-debugging">Debugging Tools</h3>
     66 <dl>
     67 
     68   <dt><a href="{@docRoot}tools/help/adb.html">adb</a></dt>
     69     <dd>Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with
     70         an emulator instance or connected Android-powered device. It also provides access to the
     71         device shell for advanced command-line operations.</dd>
     72 
     73   <dt><a href="{@docRoot}tools/help/uiautomator/index.html">uiautomator</a></dt>
     74     <dd>The {@code uiautomator} testing framework lets you test your user interface (UI) efficiently
     75         by creating automated functional UI testcases that can be run against your app on one or
     76         more devices.</dd>
     77 
     78   <dt><a href="{@docRoot}tools/debugging/ddms.html">Dalvik Debug Monitor
     79 Server (ddms)</a></dt>
     80     <dd>Lets you debug Android applications.</dd>
     81 
     82   <dt><a href="{@docRoot}tools/help/monitor.html">Device Monitor</a></dt>
     83     <dd>Android Device Monitor is a stand-alone tool that provides a graphical user interface for
     84         several Android application debugging and analysis tools.</dd>
     85 
     86   <dt><a href="{@docRoot}tools/help/dmtracedump.html">dmtracedump</a></dt>
     87     <dd>Generates graphical call-stack diagrams from trace log files. The tool uses the
     88 Graphviz Dot utility to create the graphical output, so you need to install Graphviz before
     89 running <code>dmtracedump</code>. For more information on using <code>dmtracedump</code>, see <a
     90 href="{@docRoot}tools/debugging/debugging-tracing.html#dmtracedump">Profiling
     91 with Traceview and dmtracedump</a></dd>
     92 
     93 
     94   <dt><a href="{@docRoot}tools/help/hprof-conv.html">hprof-conv</a></dt>
     95     <dd>Converts the HPROF file that is generated by the Android SDK tools to a standard format so
     96 you can view the file in a profiling tool of your choice.</dd>
     97 
     98 
     99   <dt><a href="{@docRoot}tools/help/monkey.html">Monkey</a></dt>
    100     <dd>Runs on your emulator or device and generates pseudo-random streams of user events such
    101 as clicks, touches, or gestures, as well as a number of  system-level events. You can use the Monkey
    102 to stress-test applications that you are developing, in a random yet repeatable manner.
    103 		<ul>
    104           <li><a href="{@docRoot}tools/help/MonkeyDevice.html"><span
    105 class="en">MonkeyDevice</span></a></li>
    106           <li><a href="{@docRoot}tools/help/MonkeyImage.html"><span
    107 class="en">MonkeyImage</span></a></li>
    108           <li><a href="{@docRoot}tools/help/MonkeyRunner.html"><span
    109 class="en">MonkeyRunner</span></a></li>
    110      </ul>
    111      </dd>
    112 
    113   <dt><a href="{@docRoot}tools/help/monkeyrunner_concepts.html">monkeyrunner</a></dt>
    114     <dd>Provides an API for writing programs that control an Android device or emulator from
    115 outside of Android code.</dd>
    116 
    117   <dt><a href="{@docRoot}tools/help/systrace.html">Systrace</a></dt>
    118     <dd>Lets you analyze the execution of your application in the context of system processes,
    119     to help diagnose display and performance issues.</dd>
    120 
    121   <dt><a href="{@docRoot}tools/help/traceview.html">traceview</a></dt>
    122     <dd>Provides a graphical viewer for execution logs saved by your application.</dd>
    123 
    124   <dt><a href="{@docRoot}tools/help/systrace.html">Systrace</a></dt>
    125     <dd>Lets you analyze the execution of your application in the context of system processes,
    126     to help diagnose display and performance issues.</dd>
    127 
    128 </dl>
    129 
    130 
    131 <h3 id="tools-build">Build Tools</h3>
    132 <dl>
    133 
    134   <dt><a href="{@docRoot}tools/help/jobb.html">JOBB</a></dt>
    135     <dd>Allows you to build encrypted and unencrypted
    136     <a href="{@docRoot}{@docRoot}google/play/expansion-files.html">APK expansion files</a> in Opaque
    137     Binary Blob (OBB) format.</dd>
    138 
    139 <a href="{@docRoot}{@docRoot}google/play/expansion-files.html">APK expansion files</a>
    140 
    141   <dt><a href="{@docRoot}tools/help/proguard.html">ProGuard</a></dt>
    142     <dd>Shrinks, optimizes, and obfuscates your code by removing unused code and renaming
    143 classes, fields, and methods with semantically obscure names.</dd>
    144 
    145   <dt><a href="{@docRoot}tools/help/zipalign.html">zipalign</a></dt>
    146     <dd>Optimizes <code>.apk</code> files by ensuring that all uncompressed data starts with a
    147 particular alignment relative to the start of the file. This should always be used to align .apk
    148 files after they have been signed.</dd>
    149 
    150 </dl>
    151 
    152 
    153 <h3 id="tools-image">Image Tools</h3>
    154 <dl>
    155   <dt><a href="{@docRoot}tools/help/draw9patch.html">Draw 9-patch</a></dt>
    156     <dd>Allows you to easily create a {@link android.graphics.NinePatch} graphic using a
    157 WYSIWYG editor. It also previews stretched versions of the image, and highlights the area in which
    158 content is allowed.</dd>
    159 
    160   <dt><a href="{@docRoot}tools/help/etc1tool.html">etc1tool</a></dt>
    161     <dd>A command line utility that lets you encode PNG images to the ETC1 compression standard and
    162     decode ETC1 compressed images back to PNG.</dd>
    163 
    164   <dt><a href="{@docRoot}tools/help/gltracer.html">Tracer for OpenGL ES</a></dt>
    165     <dd>Allows you to capture OpenGL ES commands and frame by frame images to help you understand
    166     how your graphics commands are being executed.</dd>
    167 
    168 </dl>
    169 
    170 
    171 
    172 <h2 id="tools-platform">Platform Tools</h2>
    173 
    174 <p>The platform tools are typically updated every time you install a new SDK platform. Each update
    175 of the platform tools is backward compatible with older platforms. Usually, you directly use only
    176 one of the platform tools&mdash;the <a href="adb.html">Android Debug Bridge (<code>adb</code>)</a>.
    177 Android Debug Bridge is a versatile tool that lets you manage the state of an emulator instance or
    178 Android-powered device. You can also use it to install an Android application (.apk) file on a
    179 device.</p>
    180 
    181 <p>The other platform tools, such as <a href="{@docRoot}guide/components/aidl.html">aidl</a>,
    182 <code>aapt</code>, <code>dexdump</code>, and <code>dx</code>, are typically called by the Android
    183 build tools or Android Development Tools (ADT), so you rarely need to invoke these tools directly.
    184 As a general rule, you should rely on the build tools or the ADT plugin to call them as needed.</p>
    185 
    186 <p class="note"><strong>Note:</strong> The Android SDK provides additional shell tools that can
    187 be accessed through <code>adb</code>, such as <a href="{@docRoot}tools/help/bmgr.html">bmgr</a> and
    188 <a href="{@docRoot}tools/help/logcat.html">logcat</a>.</p>
    189 <dl>
    190   <dt><a href="{@docRoot}tools/help/bmgr.html">bmgr</a></dt>
    191     <dd>A shell tool you can use to interact with the Backup Manager on Android devices supporting
    192     API Level 8 or greater.</dd>
    193 
    194   <dt><a href="{@docRoot}tools/help/logcat.html">logcat</a></dt>
    195     <dd>Provides a mechanism for collecting and viewing system debug output.</dd>
    196 
    197 </dl>
    198