Disclaimer: I am a consultant at Amazon Web Services, and this is my personal blog. The opinions expressed here are solely mine and do not reflect the views of Amazon Web Services (AWS). Any statements made should not be considered official endorsements or statements by AWS.
Android SDK has a variety of tools that helps you to develop a mobile application for the Android platform. These tools have been classified into 2 groups.
Here, consider the platform as an Android release such as Android 11 (API level 30) or Android 10 (API level 29).
These tools are platform-dependent and are updated whenever a new version of Android is released in the market. This includes the following components:
For example, whenever there is a new Android release, let's say Android 12 (API Level 31), then these components of Android SDK will also be updated to support the latest features of the new Android release.
Android SDK Platform refers to a package available for a specific android release such as Android 11 (API level 30) or Android 10 (API level 29).
Each SDK Platform version includes the following packages.
This image shows different SDK Platforms and their components.
These are platform-independent and are required no matter which Android platform you are developing. It includes the complete set of development and debugging tools for the Android SDK like an emulator
, apkanalyzer
, avdmanager
, sdkmanager
, etc.
These tools have been grouped and categorized in the below categories:
Though SDK Tools are platform-independent, but still we should verify the minimum supported version while developing for specific Android Platforms such as Android 11 (API level 30), Android 10 (API level 29), etc.
The Android SDK Command-Line Tools package contains various tools for building and debugging Android apps. Command-line tools include apkanalyzer
, avdmanager
, sdkmanager
, screenshot2
, lint
, retrace
.
These tools are located at <sdk_root>/cmdline-tools/version/bin/
Android SDK Build-Tools is a component of the Android SDK required for building Android apps. Build tools include aapt2
, apksigner
, zipalign
, etc.
These tools are located at <sdk_root>/build-tools/
directory. The output of the build tool is an APK file.
Android SDK Platform Tools is a component for the Android SDK required to support the features of the latest Android platform.
Important: Each update of the Android Platform Tools is backward compatible. So, some new features in these tools (in other words new features of the latest android release) are available only for recent versions of Android, but the app will still work on older devices. So for the development, you need to keep only one version of the SDK Platform-Tools.
Examples of the platform-tools include Android Debug Bridge (adb)
, etc1tool
, logcat
, fastboot
, etc.
These tools are located at <sdk_root>/platform-tools
.
The Android Emulator simulates Android devices on your computer so that you can test your application on a variety of devices and Android API levels without needing to have each physical device.
We use avdmanager
tool to create an Android Virtual Device. This avd
further depends on the platform-specific system image. We use emulator
utility to run these virtual devices. Emulator tools include mksdcard
and emulator
.
Emulator tools are located at <sdk_root>/emulator/
I hope you have enjoyed this article. Your valuable feedback, questions, or comments about this article are always welcome.