android tools

27
Alexey Ustenko programmer @ustav

Upload: alexey-ustenko

Post on 19-May-2015

1.661 views

Category:

Technology


1 download

DESCRIPTION

ItJam 2011, 20th of august, Odessa

TRANSCRIPT

Page 1: Android tools

Alexey Ustenko

programmer

@ustav

Page 2: Android tools

Tools

Page 3: Android tools

Setup

Page 4: Android tools

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.

Page 5: Android tools

Develop

Page 6: Android tools

Eclipe ADT

Page 7: Android tools

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.

Page 8: Android tools

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.

Page 9: Android tools

Motodev Studio

http://developer.motorola.com/docstools/motodevstudio/

Page 10: Android tools

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

Page 11: Android tools

Build

Page 12: Android tools

Jenkins (ex Hudson)

Page 13: Android tools

Run

Page 14: Android tools

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.

Page 15: Android tools

Debug

Page 16: Android tools

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.

Page 17: Android tools

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.

Page 18: Android tools

QtAdb

http://qtadb.wordpress.com/download/

QtAdb

Page 19: Android tools

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).

Page 20: Android tools

Optimize

Page 21: Android tools

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

Page 22: Android tools

Traceview

Traceview is a graphical viewer for execution logs saved by your application. Traceview can help you

debug your application and profile its performance.

Page 23: Android tools

Test

Page 24: Android tools

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.

Page 25: Android tools

Investigate

Page 26: Android tools

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/

Page 27: Android tools

http://developer.android.com