20
Android Development Tools Debugging / Profiling Joachim Pfeiffer joachim.pfeiffer at gmail dot com San Francisco Android User’s Group 27 April 2010

Android developmenttools 20100424

Embed Size (px)

DESCRIPTION

http://www.sfandroid.org/calendar/13050451/

Citation preview

Page 1: Android developmenttools 20100424

Android Development ToolsDebugging / Profiling

Joachim Pfeiffer joachim.pfeiffer at gmail dot com

San Francisco Android User’s Group27 April 2010

Page 2: Android developmenttools 20100424

Presentation Topics

• Resources• Android Debug Bridge (adb)• sqlite3• Dalvik Debug Monitor Service (ddms)• Traceview• Emulator (focus on dev tools)• Discussion

Page 3: Android developmenttools 20100424

Resources

• Google Android Developer Guidehttp://developer.android.com/guide/developing/tools/index.html

• Google I/O 2009 session videosMattson: http://code.google.com/events/io/2009/sessions/DebuggingArtsNinjaMasters.htmlGuy:http://code.google.com/events/io/2009/sessions/TurboChargeUiAndroidFast.html

Page 4: Android developmenttools 20100424

Android Developer Bridge (adb)

• Launch from CLI, e.g. Cygwin• Install / uninstall apps $adb install, adb uninstall

• Push / pull files $ adb push, adb pull

• Pull logs $ adb logcat• Attach jdb $ adb jdwp:<process>• Start remote shell $ adb shell

Run shell commands. Use at own risk

Page 5: Android developmenttools 20100424

sqlite3• Access through adb remote shell• Run SQL commands on SQLite databases• Similar to MySQL or Oracle SQL*Plus• Example:

Page 6: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• Screen capture• Thread and heap information• Logcat• System info• Call and location data spoofing• Launch Traceview from ddms

Page 7: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

Page 8: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• Threads of a selected process

Page 9: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• Heap of a selected process

Page 10: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• Logcat with save-to-file

Page 11: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• System info

Page 12: Android developmenttools 20100424

Dalvik Debug Monitor Service (ddms)

• Call and location data spoofing-> Run simulations for emulator

Page 13: Android developmenttools 20100424

Traceview

• Launch from ddms

Page 14: Android developmenttools 20100424

Traceview• Record method invocations over a selected time period. For each method:

- Percentage of time used- Number of calls- Average time / call

• Drill down:- Show parent callers- Show children called- Magnify time scale

Page 15: Android developmenttools 20100424

Traceview

Page 16: Android developmenttools 20100424

Traceview

Page 17: Android developmenttools 20100424

Traceview

• Insert expensive code, in drawStop():

Page 18: Android developmenttools 20100424

Traceview

Page 19: Android developmenttools 20100424

Emulator (focus on dev tools)

• Emulator development tools are provided in a separate app, DevTools

• Variety of functions, such as show processes, CPU utilization on screen (you’re probably better off using ddms)

• Most useful component: Show screen updates

Page 20: Android developmenttools 20100424

The End

Discussion…