Scott Main | e0c4bb4 | 2013-04-22 12:11:18 -0700 | [diff] [blame] | 1 | page.title=Tools Help |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 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 | <h2 id="tools-sdk">SDK Tools</h2> |
| 12 | <p>The SDK tools are installed with the SDK starter package and are periodically updated. |
| 13 | The SDK tools are required if you are developing Android applications. The most important SDK tools |
| 14 | include the Android SDK Manager (<code>android sdk</code>), the AVD Manager (<code>android |
| 15 | avd</code>) the emulator (<code>emulator</code>), and the Dalvik Debug Monitor Server |
| 16 | (<code>ddms</code>). A short summary of some frequently-used SDK tools is provided below.</p> |
| 17 | |
| 18 | <dl> |
| 19 | <dt><a href="android.html">android</a></dt> |
| 20 | <dd>Lets you manage AVDs, projects, and the installed components of the SDK.</dd> |
| 21 | <dt><a href="{@docRoot}tools/debugging/ddms.html">Dalvik Debug Monitor |
| 22 | Server (ddms)</a></dt> |
| 23 | <dd>Lets you debug Android applications.</dd> |
| 24 | <dt><a href="dmtracedump.html">dmtracedump</a></dt> |
| 25 | <dd>Generates graphical call-stack diagrams from trace log files. The tool uses the |
| 26 | Graphviz Dot utility to create the graphical output, so you need to install Graphviz before |
| 27 | running <code>dmtracedump</code>. For more information on using <code>dmtracedump</code>, see <a |
| 28 | href="{@docRoot}tools/debugging/debugging-tracing.html#dmtracedump">Profiling |
| 29 | with Traceview and dmtracedump</a></dd> |
| 30 | <dt><a href="draw9patch.html">Draw 9-patch</a></dt> |
| 31 | <dd>Allows you to easily create a {@link android.graphics.NinePatch} graphic using a |
| 32 | WYSIWYG editor. It also previews stretched versions of the image, and highlights the area in which |
| 33 | content is allowed.</dd> |
| 34 | <dt><a href="emulator.html">Android Emulator (emulator)</a></dt> |
| 35 | <dd>A QEMU-based device-emulation tool that you can use to design, debug, and test |
| 36 | your applications in an actual Android run-time environment.</dd> |
| 37 | <dt><a href="hierarchy-viewer.html">Hierarchy Viewer (hierarchyviewer)</a></dt> |
| 38 | <dd>Lets you debug and optimize an Android application's user interface.</dd> |
| 39 | <dt><a href="hprof-conv.html">hprof-conv</a></dt> |
| 40 | <dd>Converts the HPROF file that is generated by the Android SDK tools to a standard format so |
| 41 | you can view the file in a profiling tool of your choice.</dd> |
| 42 | <dt><a href="layoutopt.html">layoutopt</a></dt> |
| 43 | <dd>Lets you quickly analyze your application's layouts in order to optimize them for |
| 44 | efficiency.</dd> |
| 45 | <dt><a href="mksdcard.html">mksdcard</a></dt> |
| 46 | <dd>Helps you create a disk image that you can use with the emulator, to simulate the presence |
| 47 | of an external storage card (such as an SD card).</dd> |
| 48 | <dt><a href="monkey.html">Monkey</a></dt> |
| 49 | <dd>Runs on your emulator or device and generates pseudo-random streams of user events such |
| 50 | as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey |
| 51 | to stress-test applications that you are developing, in a random yet repeatable manner.</dd> |
| 52 | <dt><a href="monkeyrunner_concepts.html">monkeyrunner</a></dt> |
| 53 | <dd>Provides an API for writing programs that control an Android device or emulator from |
| 54 | outside of Android code.</dd> |
| 55 | <dt><a href="proguard.html">ProGuard</a></dt> |
| 56 | <dd>Shrinks, optimizes, and obfuscates your code by removing unused code and renaming |
| 57 | classes, fields, and methods with semantically obscure names.</dd> |
Joe Fernandez | 5e3a1c0 | 2012-08-24 12:34:43 -0700 | [diff] [blame] | 58 | <dt><a href="systrace.html">Systrace</a></dt> |
| 59 | <dd>Lets you analyze the execution of your application in the context of system processes, |
| 60 | to help diagnose display and performance issues.</dd> |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 61 | <dt><a href="sqlite3.html">sqlite3</a></dt> |
| 62 | <dd>Lets you access the SQLite data files created and used by Android applications.</dd> |
| 63 | <dt><a href="traceview.html">traceview</a></dt> |
| 64 | <dd>Provides a graphical viewer for execution logs saved by your application.</dd> |
| 65 | <dt><a href="zipalign.html">zipalign</a></dt> |
| 66 | <dd>Optimizes <code>.apk</code> files by ensuring that all uncompressed data starts with a |
| 67 | particular alignment relative to the start of the file. This should always be used to align .apk |
| 68 | files after they have been signed.</dd> |
| 69 | </dl> |
| 70 | |
| 71 | <h2 id="tools-platform">Platform Tools</h2> |
| 72 | |
| 73 | <p>The platform tools are typically updated every time you install a new SDK platform. Each update |
| 74 | of the platform tools is backward compatible with older platforms. Usually, you directly use only |
| 75 | one of the platform tools—the <a href="adb.html">Android Debug Bridge (<code>adb</code>)</a>. |
| 76 | Android Debug Bridge is a versatile tool that lets you manage the state of an emulator instance or |
| 77 | Android-powered device. You can also use it to install an Android application (.apk) file on a |
| 78 | device.</p> |
| 79 | |
Scott Main | e40c463 | 2012-06-25 10:02:13 -0700 | [diff] [blame] | 80 | <p>The other platform tools, such as <a href="{@docRoot}guide/components/aidl.html">aidl</a>, |
Scott Main | 50e990c | 2012-06-21 17:14:39 -0700 | [diff] [blame] | 81 | <code>aapt</code>, <code>dexdump</code>, and <code>dx</code>, are typically called by the Android |
| 82 | build tools or Android Development Tools (ADT), so you rarely need to invoke these tools directly. |
| 83 | As a general rule, you should rely on the build tools or the ADT plugin to call them as needed.</p> |
| 84 | |
| 85 | <p class="note"><strong>Note:</strong> The Android SDK provides additional shell tools that can |
| 86 | be accessed through <code>adb</code>, such as <a href="bmgr.html">bmgr</a> and |
| 87 | <a href="logcat.html">logcat</a>.</p> |