| page.title=Tools |
| @jd:body |
| |
| |
| <p>The Android SDK includes a variety of tools that help you develop mobile |
| applications for the Android platform. The tools are classified into two groups: SDK tools |
| and platform tools. SDK tools are platform independent and are required no matter which |
| Android platform you are developing on. Platform tools are customized to support the features of the |
| latest Android platform.</p> |
| |
| <h2 id="tools-sdk">SDK Tools</h2> |
| <p>The SDK tools are installed with the SDK starter package and are periodically updated. |
| The SDK tools are required if you are developing Android applications. The most important SDK tools |
| include the Android SDK Manager (<code>android sdk</code>), the AVD Manager (<code>android |
| avd</code>) the emulator (<code>emulator</code>), and the Dalvik Debug Monitor Server |
| (<code>ddms</code>). A short summary of some frequently-used SDK tools is provided below.</p> |
| |
| <dl> |
| <dt><a href="android.html">android</a></dt> |
| <dd>Lets you manage AVDs, projects, and the installed components of the SDK.</dd> |
| <dt><a href="{@docRoot}tools/debugging/ddms.html">Dalvik Debug Monitor |
| Server (ddms)</a></dt> |
| <dd>Lets you debug Android applications.</dd> |
| <dt><a href="dmtracedump.html">dmtracedump</a></dt> |
| <dd>Generates graphical call-stack diagrams from trace log files. The tool uses the |
| Graphviz Dot utility to create the graphical output, so you need to install Graphviz before |
| running <code>dmtracedump</code>. For more information on using <code>dmtracedump</code>, see <a |
| href="{@docRoot}tools/debugging/debugging-tracing.html#dmtracedump">Profiling |
| with Traceview and dmtracedump</a></dd> |
| <dt><a href="draw9patch.html">Draw 9-patch</a></dt> |
| <dd>Allows you to easily create a {@link android.graphics.NinePatch} graphic using a |
| WYSIWYG editor. It also previews stretched versions of the image, and highlights the area in which |
| content is allowed.</dd> |
| <dt><a href="emulator.html">Android Emulator (emulator)</a></dt> |
| <dd>A QEMU-based device-emulation tool that you can use to design, debug, and test |
| your applications in an actual Android run-time environment.</dd> |
| <dt><a href="hierarchy-viewer.html">Hierarchy Viewer (hierarchyviewer)</a></dt> |
| <dd>Lets you debug and optimize an Android application's user interface.</dd> |
| <dt><a href="hprof-conv.html">hprof-conv</a></dt> |
| <dd>Converts the HPROF file that is generated by the Android SDK tools to a standard format so |
| you can view the file in a profiling tool of your choice.</dd> |
| <dt><a href="layoutopt.html">layoutopt</a></dt> |
| <dd>Lets you quickly analyze your application's layouts in order to optimize them for |
| efficiency.</dd> |
| <dt><a href="mksdcard.html">mksdcard</a></dt> |
| <dd>Helps you create a disk image that you can use with the emulator, to simulate the presence |
| of an external storage card (such as an SD card).</dd> |
| <dt><a href="monkey.html">Monkey</a></dt> |
| <dd>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.</dd> |
| <dt><a href="monkeyrunner_concepts.html">monkeyrunner</a></dt> |
| <dd>Provides an API for writing programs that control an Android device or emulator from |
| outside of Android code.</dd> |
| <dt><a href="proguard.html">ProGuard</a></dt> |
| <dd>Shrinks, optimizes, and obfuscates your code by removing unused code and renaming |
| classes, fields, and methods with semantically obscure names.</dd> |
| <dt><a href="sqlite3.html">sqlite3</a></dt> |
| <dd>Lets you access the SQLite data files created and used by Android applications.</dd> |
| <dt><a href="traceview.html">traceview</a></dt> |
| <dd>Provides a graphical viewer for execution logs saved by your application.</dd> |
| <dt><a href="zipalign.html">zipalign</a></dt> |
| <dd>Optimizes <code>.apk</code> files by ensuring that all uncompressed data starts with a |
| particular alignment relative to the start of the file. This should always be used to align .apk |
| files after they have been signed.</dd> |
| </dl> |
| |
| <h2 id="tools-platform">Platform Tools</h2> |
| |
| <p>The platform tools are typically updated every time you install a new SDK platform. Each update |
| of the platform tools is backward compatible with older platforms. Usually, you directly use only |
| one of the platform tools—the <a href="adb.html">Android Debug Bridge (<code>adb</code>)</a>. |
| Android Debug Bridge is a versatile tool that lets you manage the state of an emulator instance or |
| Android-powered device. You can also use it to install an Android application (.apk) file on a |
| device.</p> |
| |
| <p>The other platform tools, such as <a href="{@docRoot}guide/components/aidl.html">aidl</a>, |
| <code>aapt</code>, <code>dexdump</code>, and <code>dx</code>, are typically called by the Android |
| build tools or Android Development Tools (ADT), so you rarely need to invoke these tools directly. |
| As a general rule, you should rely on the build tools or the ADT plugin to call them as needed.</p> |
| |
| <p class="note"><strong>Note:</strong> The Android SDK provides additional shell tools that can |
| be accessed through <code>adb</code>, such as <a href="bmgr.html">bmgr</a> and |
| <a href="logcat.html">logcat</a>.</p> |