The Android SDK (software development kit) is the collection of tools, platform APIs, and supporting components required to build, compile, and test Android applications. It was first released to developers in November 2007, shortly after the Open Handset Alliance announced Android, and it has been updated for every Android platform version since. The SDK is what turns Android from an operating system into a development target: it provides the class libraries an app calls, the tools that package those apps, and the emulator that runs them without physical hardware.
The SDK is organized into separable packages that Google distributes and versions independently. The SDK Platform packages contain the framework APIs for each Android release (each tied to an API level), so a developer can compile against and target a specific version of Android. The SDK Platform Tools package contains tools that interface directly with the platform, primarily adb (the Android Debug Bridge, used to install apps and talk to devices) and fastboot; these tools are updated with each platform release and are kept backward compatible with earlier versions. The SDK Build Tools package contains the lower-level utilities needed to compile and assemble an app, and multiple versions can be installed side by side to build for different Android releases.
The Android Emulator is a core part of the SDK. It lets developers run and test applications across a variety of virtual Android devices, screen sizes, and API levels without owning the physical hardware. Each platform version provides system images that the emulator boots, so a developer can reproduce the behavior of many Android releases on a single workstation. Together with on-device debugging through adb, the emulator gives Android development a fast test loop.
These components are managed through the SDK Manager, a tool that downloads, updates, and removes SDK packages. The SDK Manager is available both as a graphical tool inside Android Studio (Tools > SDK Manager) and as a standalone command-line program, sdkmanager, for scripted and continuous-integration use. This package-based design means a team can pin exact tool and platform versions, which matters for reproducible builds.
The SDK is consumed both interactively through Android Studio and programmatically through the Gradle-based build system, which invokes the SDK’s build tools to compile sources, process resources, and produce the final APK or Android App Bundle. Although Android Studio bundles the SDK for convenience, the SDK command-line tools can be installed on their own, which is how build servers and headless continuous-integration pipelines produce release artifacts. In this library the Android SDK sits beneath both Android Studio (which wraps it) and the APK/app-bundle formats (which it produces).