The Android™ Software Development Kit (SDK) is a set of software tools for developing applications that run on the Android™ mobile operating system. The SDK is modular and components can be downloaded independently. Available components include software needed to build Android™ applications as well as documentation, source code examples, and command-line tools useful for development and debugging. The SDK also includes an emulator that simulates different Android™ devices. The Android™ SDK is available on all three major platforms, and is designed to be used with the open source Eclipse integrated development environment (IDE), but can be used with other IDEs.
Since it was first announced in November 2007, the Android™ operating system has attracted attention from many different software developers. Android™ is a Linux-based operating system that runs on mobile phones, tablet computers, and other types of devices. In late 2007 the Android™ SDK was released to enable developers to build applications for the platform. These applications can then be added to the Android™ Market, an online catalog of free and paid programs available to end-users.
The Android™ SDK is modular, meaning its components are available separately. An included software program allows developers to add different components as needed. Applications developed for different versions of the Android™ operating system require different components of the SDK, so developers who wish to target many versions will need to download more components. The SDK and its various components are available for all three major computer platforms.
Android™ applications are built using the Java® programming language, so one of the most important components of the Android™ SDK are the included libraries of Java® classes. These classes provide different functionality commonly used by a variety of programs, as well as giving developers a way to interact with the Android™ system. Core classes from the Java® language are available, as are classes specific to features found on mobile devices.
The Android™ SDK repository, a collection of SDK components available for download, includes documentation, code samples, a variety of tools, and a driver to allow an Android™ device to be connected directly to the development environment over a Universal Serial Bus (USB) connection. A critical tool included in the SDK is the emulator, which allows developers to test their programs on a variety of virtual Android™ devices. Skins for the emulator allow programs to be tested at a variety of screen resolutions.
Although not included in the Android™ SDK, a plug-in for the Eclipse IDE called Android Developer Tools (ADT) is officially recommended for developers. The ADT plug-in is only available for Eclipse, but other development environments can be used with the SDK. A Native Development Kit (NDK) is also available as a companion to the SDK and allows critical components of applications to be developed directly from an Android™ device.