android tools
DESCRIPTION
ItJam 2011, 20th of august, OdessaTRANSCRIPT
Alexey Ustenko
programmer
@ustav
Tools
Setup
android
android is an important development tool that lets you: Create, delete, and view Android Virtual Devices (AVDs). Create and update Android projects. Update your Android SDK with new platforms, add-ons, and documentation.
Develop
Eclipe ADT
sqlite3
From a remote shell to your device or from your host machine, you can use the sqlite3 command-
line program to manage SQLite databases created by Android applications.
The sqlite3 tool includes many useful commands, such as .dump to print out the contents of a
table and.schema to print the SQL CREATE statement for an existing table. The tool also gives
you the ability to execute SQLite commands on the fly.
Draw 9-patch
Allows you to easily create a NinePatch graphic using a WYSIWYG editor.
It also previews stretched versions of the image, and highlights the area in which content is allowed.
Motodev Studio
http://developer.motorola.com/docstools/motodevstudio/
Android Asset Studio
Icon generators allow you to quickly and easily generate icons from existing source images,
clipart, or text.
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
Build
Jenkins (ex Hudson)
Run
Android Emulator
A QEMU-based device-emulation tool that you can use to design, debug, and test your applications in
an actual Android run-time environment.
When the emulator is running, you can interact with the emulated mobile device just as you would an
actual mobile device, except that you use your mouse pointer to "touch" the touchscreen and can use
some keyboard keys to invoke certain keys on the device.
Debug
Android Debug Bridge (adb)
Features:
Manage the state of an emulator or device
Run shell commands on a device
Manage port forwarding on an emulator or device
Copy files to/from an emulator or device
Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an
emulator instance or connected Android-powered device. It is a client-server program that includes
three components:
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.
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.
A daemon, which runs as a background process on each emulator or device instance.
Dalvik Debug Monitor Server (DDMS)Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS), which provides
port-forwarding services, screen capture on the device, thread and heap information on the device,
logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing,
and more.
QtAdb
http://qtadb.wordpress.com/download/
QtAdb
Hierarchy Viewer
Hierarchy Viewer allows you to debug and optimize application's user interface. It provides a visual
representation of the layout's View hierarchy (the Layout View) and a magnified inspector of the display
(the Pixel Perfect View).
Optimize
layoutopt
layoutopt is a command-line tool that helps you optimize the layouts and layout hierarchies of your
applications.
$ layoutopt samples/samples/compound.xml 7:23 The root-level <FrameLayout/> can be replaced with <merge/> 11:21 This LinearLayout layout or its FrameLayout parent is uselesssamples/simple.xml 7:7 The root-level <FrameLayout/> can be replaced with <merge/>samples/too_deep.xml -1:-1 This layout has too many nested layouts: 13 levels, it should have <= 10! 20:81 This LinearLayout layout or its LinearLayout parent is useless 24:79 This LinearLayout layout or its LinearLayout parent is useless 28:77 This LinearLayout layout or its LinearLayout parent is useless 32:75 This LinearLayout layout or its LinearLayout parent is useless 36:73 This LinearLayout layout or its LinearLayout parent is useless 40:71 This LinearLayout layout or its LinearLayout parent is useless 44:69 This LinearLayout layout or its LinearLayout parent is useless 48:67 This LinearLayout layout or its LinearLayout parent is useless 52:65 This LinearLayout layout or its LinearLayout parent is useless 56:63 This LinearLayout layout or its LinearLayout parent is uselesssamples/too_many.xml 7:413 The root-level <FrameLayout/> can be replaced with <merge/> -1:-1 This layout has too many views: 81 views, it should have <= 80!samples/useless.xml 7:19 The root-level <FrameLayout/> can be replaced with <merge/> 11:17 This LinearLayout layout or its FrameLayout parent is useless
Traceview
Traceview is a graphical viewer for execution logs saved by your application. Traceview can help you
debug your application and profile its performance.
Test
UI/Application Exerciser Monkey
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.
Investigate
apktool
It is a tool for reengineering 3rd party, closed, binary Android apps. It can decode resources to nearly
original form and rebuild them after making some modifications; it makes possible to debug smali code
step by step. Also it makes working with app easier because of project-like files structure and automation
of some repetitive tasks like building apk, etc.
Features: Decoding resources to nearly original form (including .arsc, XMLs and 9.png files) and rebuilding them
Smali debugging
Helping with some repetitive tasks
http://code.google.com/p/android-apktool/
http://developer.android.com