It allows developers to create an application for a specific platform. Therefore, android SDK enables programmer to create an application for android platform, and it includes an emulator, one or more API, development tools, sample projects with source code, and required libraries to build android applications which is written using the Java programming language.
“The Android SDK tools compile the code – along with any data and resource files – into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application. Once installed on a device, each Android application lives in its own security sandbox. In this way, the Android system implements the principle of least privilege. That is, each application, by default, has access only to the components that is requires to do its work and no more.
This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.” . On every Android Application, application components are the essential part. Each component has its own role in the application behavior. Based on source, there are four types of application components namely 1) Activities which represents a single screen with a user interface 2) Services that runs in the background to perform work 3) Content providers that manages a shared set of application data 4) Broadcast receivers that responds to system-wide broadcast announcements. Activities, services, and broadcast receivers are activated by an asynchronous message called an intent, while content providers is activated when targeted by a request from a ContentResolver. The manifest file must declare all application components and requirements.
To help developers develop their mobile applications for the Android platform, the Android SDK provides a variety of tools. “The tools are classified into two groups: SDK tools and platform tools. SDK tools are platform independent and are required no matter which Android platform you are developing on. Platform tools are customized to support the features of the latest Android platform.”.