This appendix includes a list of publicly available tools that have proven useful for conducting security research on the Android operating system. This is by no means an exhaustive list. For example, this list does not include the tools we developed and included with this book. Also, new tools are created and released every now and then.
Most of the tools described in this section are aimed at application developers, although security researchers may also use them for building proof of concept programs, debugging applications, or coding exploits specific to the Android platform.
The Android Software Development Kit (SDK) provides a set of core development tools, application programming interface (API) libraries, documentation, and sample Android applications. The SDK, together with the Java Development Kit and Apache Ant, is necessary for building, testing, and debugging Android applications.
The Android emulator, which is based on QEMU (short for “Quick EMUlator”), is also included in the SDK. Developers can test the applications developed using the SDK in an emulated environment without the need for a real Android device.
The Android SDK is available for Linux, Mac OS X, and Windows platforms. You can find it at
The Android Native Development Kit (NDK) contains everything needed to develop native applications and libraries using C and C++. The NDK includes a complete ...