Here are some development tools useful for working with Android
adb is the android debugger - it also doubles as file transfer agent. The setup consists of an adbd on the target in the /sbin directory. On the host two programs are run: the adb application (in the SDK's tools directory) and an adb server, started by the adb application.
For emulators, adb will usually run automagically.
For real boards - with debugging over USB, you might need to do work, as is documented here: http://developer.android.com/guide/developing/device.html#setting-up .
For real boards that do not have a USB connection but have Ethernet instead, you might need to do a few tricks.
- make sure that adbd runs on the board. If it doesn't run, you might want to check the init.rc file.
- make sure that the network connection between host and the board is working - test pinging both ways.
- on the host, type the following (and yes, you need to specify the board's IP address on the host):
ADBHOST=<target-ip> tools/adb kill-server ADBHOST=<target-ip> tools/adb shell
- you should now get a prompt on the board, you can exit the prompt if you want.
- tools/adb devices should now list the device.
The Android Asset Packaging Tool is used to create, inspect and manage Android packages.
You can use this to see details about a package, it's resources, and xml information.
The Android developer page on aapt is somewhat meager.
See Android aapt for substantially more information.
- Fastboot - Android Fastboot is a tool to boot and manipulate the partitions on an Android development phone.
- toolchains -
- logging system -
- Emulator - See http://developer.android.com/guide/developing/tools/emulator.html
The emulator is a version of QEMU, which mimics the instruction set of an ARM processor, and the hardware that one might find on a mobile phone. The emulator runs on an x86 system, but executes an ARM linux kernel and programs. The flow of control is:
- application ->
- dalvik VM ->
- C/C++ libraries ->
- ARM linux kernel ->
- emulated instructions and hardware (QEMU)->
- C libraries->
- x86 kernel ->
- real hardware
- Google's main page describing traceview: http://developer.android.com/guide/developing/tools/traceview.html
- http://www.bottomlesspit.org/file_download/2/Android_SDK_Traceview_tool.pdf - good overview presentation by Olivier Bilodeau
- presentation with speaker notes: http://www.bottomlesspit.org/file_download/3/Android_SDK_Traceview_tool_w_speakernotes.pdf
- Performance Tuning Android Applications - straightforward article discussing traceview use to find an application bottleneck. April 2009.
- agcc - A wrapper tool for compiling native Android apps (linked directly to bionic)
Android ships with a utility suite (called 'toolbox') that is not busybox.
You can get a binary busybox for Android here The site includes instructions for easy installation on your device.
- smem - smem is a tools for analyzing the memory usage on a system
- See Using smem on Android for more information
- Statically linked binary available at: http://benno.id.au/blog/2007/11/18/android-runtime-strace
- Instructions for building Android strace - http://discuz-android.blogspot.com/2008/01/create-google-android-strace-tool.html
Serial Cable for G1
You can build a serial cable to use with the G1, which is helpful to see kernel boot messages on the serial console.
Back to Android Portal