Android SDK

Why Trust Techopedia

What Does Android SDK Mean?

The Android SDK (software development kit) is a set of development tools used to develop applications for the Android platform that has become Apple’s biggest rival in the smartphone space. The Android SDK includes the following:

  • Required libraries.

  • Debugger.

  • An emulator.

  • Relevant documentation for the Android application program interfaces (APIs).

  • Sample source code.

  • Tutorials for the Android OS.

Techopedia Explains Android SDK

Every time Google releases a new version of Android, a corresponding SDK is also released. To be able to write programs with the latest features, developers must download and install each version’s SDK for the particular phone. The SDK essentially represents Android’s delivered toolkit for a specific version and technology of its operating systems.

The development platforms that are compatible with SDK include operating systems like Windows (XP or later), Linux (any recent Linux distribution) and Mac OS X (10.4.9 or later). The components of Android SDK can be downloaded separately. Third-party add-ons are also available for download.

Although the SDK can be used to write Android programs in the command prompt, the most common method is by using an integrated development environment (IDE). The recommended IDE is Eclipse with the Android Development Tools (ADT) plug-in. However, other IDEs, such as NetBeans or IntelliJ, will also work.

Most of these IDEs provide a graphical interface enabling developers to perform development tasks faster. Since Android applications are written in Java code, a user should have the Java Development Kit (JDK) installed.

In addition, experts sometimes talk about optimizing the use of SDKs for Android, for instance, using targeted versioning to eliminate the need for additional wrapped API calls, or may refer to SDK targeting as “value-added to an Android manifest” that can help with OS implementations, many recommending setting a target version and a minimum version in the manifest.

Other related resources include tips for optimized installation and the use of the Android SDK Manager.

IDEs and Android SDK

Another way to understand the utility of the IDE and why it may be favored over simple SDK use is to think about the ways that IDs abstract and facilitate the process of development.

One thing that the IDEs do, as implied above, is consolidate various tools into one single environment. For example, if an IDE provides functionality for a text editor, compiler and debugger altogether, (where each of those things would be treated separately in dealing with an SDK,) that offers evident benefits for the developer.

Experts also explain how IDEs, for example, Netbeans, create graphical user interface or more user-friendly versions of development environments that would be considered more manually or basically implemented in SDKs.

A good analogy might be the use of HTML to code webpages contrasted with the emergence of many platforms, (early ones including Dreamweaver, for example,) that provided GUIs over the HTML environment for implementation.

By abstracting the underlying tasks in this way, the GUIs make the tasks more accessible to a wider set of users, and can help to save time and effort. The IDE does this for the Android developer, although some argue that too many shortcuts compromises the core knowledge that the developer needs to be confident in a variety of environments.


Related Terms

Margaret Rouse
Technology Expert
Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.