After installing the environment development of Android Studio, many novice programmers are faced with the need to additionally install additional components to work with specific versions of the operating system. SDK Manager is a central tool that manages the loading and updating of all libraries, emulators and platform tools. Without a correctly configured set of packages, application compilation will be impossible, and launching on real devices or virtual machines will result in errors.
In this article we will analyze in detail the process of accessing the package manager, selecting the required versions Android SDK and solving typical network connection problems. You will learn how to optimize the use of disk space and which components are truly critical to start development, and which can be postponed until later. This guide is relevant for the latest versions of the IDE and operating systems of the Windows, macOS and Linux families.
Let's start with where exactly this tool is located in the app interface. In modern versions of Android Studio, access to package management has been moved to the settings menu, which sometimes causes confusion for users moving from older versions of Eclipse or earlier releases of the IDE. Google The interface is constantly improving, so the layout of elements may vary slightly depending on the update.
Accessing the package manager and initial setup
To open the window control, you need to go to the main menu of the app. For Windows users, the path looks like Tools โ SDK Manager, and on macOS it is a combination of Android Studio โ Preferences followed by selecting a partition. In the window that opens, you will see a list of available versions of the platform, divided into categories for ease of navigation.
The first thing you should pay attention to is the path to the installation directory. By default Android SDK located in a hidden folder in your user profile, which can create difficulties when manually copying files or wiping the disk. If you plan to store projects on another drive or share the SDK between several users, the path can be changed in the field Android SDK Location.
The interface is divided into two main tabs: SDK Platforms and SDK Tools. The first is responsible for files of specific versions of Android, necessary for compiling code for a specific version of the API. The second tab contains utilities such as the emulator, debugging tools, and system images. The separation is made so that the developer can flexibly manage resources.
โ ๏ธ Attention: Do not install all available versions of platforms at once. Each version takes up between 500 MB and 2 GB of space. This will quickly fill up the system disk and may slow down the project indexing in the IDE.
๐ Note: The interface and menu layout may change with new versions of Android Studio (for example, Hedgehog, Giraffe or Iguana versions). Always check the official documentation if you cannot find the menu item you need.
Selecting platform versions and system images
In the tab SDK Platforms Displays a list of all released versions of the operating system. To get started, it is recommended to select the latest stable version, which is usually marked as Recommended. This will ensure compatibility with most modern devices and access to the latest API functions.
When choosing a platform version, several required components are automatically checked: Android SDK Platform, Sources for Android and Google APIs. Source code is useful for learning how to implement system classes, and Google APIs are essential if your application will use maps, localization services, or other proprietary services of the search giant.
System images (System Images) deserve special attention. They are only needed if you plan to run an emulator. If you are testing applications exclusively on physical devices connected via USB, downloading heavy images (each weighing about 1-1.5 GB) is not necessary. This will significantly save space and time for initial setup.
| Component | Purpose | Required? | Approximate size |
|---|---|---|---|
| SDK Platform | Frameworks for compilation | Yes | ~600 MB |
| Sources | System source code | No | ~100 MB |
| Google APIs | Google Play Services | Depends on the project | ~50 MB |
| System Image | Image for emulator | Only for emulation | ~1.2 GB |
If you are developing an application for a specific segment market where outdated smartphones are common, it makes sense to add one of the previous versions, for example Android 11 or Android 10. This will allow you to test the interface and functionality on older API levels, ensuring backward compatibility.
Use the filter in the upper right corner of the SDK Manager window to quickly find the desired version by API number or code name (for example, "Tiramisu" for Android 13).
Installing development tools and utilities
Switching to the SDK Toolstab will give you access to critical utilities. The most important element here is Android SDK Build-Tools. It is this app that compiles your code into a format Dalvik Executable (DEX)that the Android virtual machine understands. Without it, the project build will fail.
Also located here Android Emulator. If you did not download the system images in the previous step, but you have the emulator itself installed, you will be able to run it, but it will not be able to boot without the system image. It is recommended to keep this tool updated as new versions bring performance improvements and hardware acceleration support.
For advanced users and command line debugging are required Android SDK Platform-Tools. This package contains utilities adb and fastboot. With their help, you can install applications, read system logs, take screenshots, and even reflash the device in bootloader mode. These tools are often used regardless of the development environment itself.
- ๐ ๏ธ NDK (Native Development Kit): only needed if you write code in C or C++ for high-performance computing or working with hardware.
- ๐ฑ Google USB Driver: critical for Windows users so that the computer sees the connected phone in debug mode.
- ๐ Intel x86 Emulator Accelerator: speeds up the emulator on Intel processors (for Mac on M1/M2/M3 other images are relevant).
Some tools are marked with an asterisk or a special icon, which indicates their optional nature for basic development. For example, Android SDK Command-line Tools are useful for automating build processes on servers (CI/CD), but a beginner in the GUI may not need them right away.
โ๏ธ Ready for development
Solving problems with loading and network settings
One of the most common problems when working c SDK Manager is an error loading packages. Users from CIS countries often experience that the progress bar freezes at 0% or displays a connection error. This is due to the peculiarities of routing traffic to servers Google.
In the SDK Manager settings window there is a checkbox Force https://... sources to be fetched using http://.... In modern versions it is often unavailable or does not work, since the repositories require a secure connection. A more effective solution is to use a proxy server if you are on a corporate network, or configure DNS.
If the download is interrupted in the middle, do not panic. The package manager supports resuming. However, if the file is damaged, it is better to clear the cache. To do this, you need to go to the SDK installation folder, find the directory temp and delete its contents, then restart the installation process.
โ ๏ธ Attention: If SSL or timeout errors occur, check whether your antivirus or firewall is blocking the connection of Java processes with external servers. Often it is enough to add Android Studio to the exceptions.
It is also worth checking the environment variables. Sometimes a conflict arises because the system already has a path to an old version of the SDK from another app. Make sure that the variable ANDROID_HOME points to the actual directory that your current version of the studio is using.
What to do if the package is stuck at "Installing"?
Try canceling the installation, restarting Android Studio as an administrator and starting the download again. If it doesnโt help, download the package manually through a browser (zip archive) and unpack it into the appropriate folder inside the SDK directory.
Command line and installation automation
For experienced developers or those who work on servers without a graphical interface, there is a console utility sdkmanager. It allows you to install packages using scripts, which is convenient for setting up workspaces for an entire team of developers. You can find it in the folder cmdline-tools/latest/bin.
The command syntax is quite simple. For example, to install the latest version of the platform tools and emulator, you can run the following command in a terminal:
sdkmanager "platform-tools" "emulator" "platforms;android-34"
Using the command line has the advantage of being able to automatically accept license agreements. This eliminates the need to click on the "Accept" buttons in the GUI for each new component. The command sdkmanager --licenses will start the process of confirming all licenses one by one.
In addition, through the console it is easy to remove unnecessary packages, freeing up space. Just add a flag --uninstall before the package name. This is especially useful when cleaning up the system after completing projects that required specific API versions.
Automation via sdkmanager saves time when deploying the development environment on new computers and allows you to easily version a set of tools in project configuration files.
Storage optimization and disk space management
Over time the folder Android SDK can grow to tens of gigabytes. Old versions Build-Tools, unused system images and the emulator cache take up valuable space. Regular revision of installed components is a good practice to maintain the health of the system.
In the SDK Manager itself, you can uncheck unused packages and click the Apply or Uninstallbutton. The system will warn that some projects may stop building if they are tightly bound to the version being removed. In this case, it is better to leave at least one old version to support legacy code.
The emulator cache is worth mentioning separately. Even if you delete the system image, user data and cache may remain on the disk. They can be cleared via Device Manager in Android Studio by selecting an action Wipe Data for a specific virtual device. This will not delete the image itself, but will reset its state to factory state.
- ๐๏ธ Regularly delete versions Build-Toolsolder than 2-3 years, if they are not used to support older applications.
- ๐ Move the SDK folder to a separate physical disk if the system SSD has small size.
- ๐ Use the "Show Package Details" function to see the exact size of each component before installation.
Proper version control avoids dependency conflicts in the project build.gradle. When a project specifies a specific compiler version, but only the newer or older one is installed on the system, Gradle may throw a synchronization error. Having the right set of tools guarantees a stable build.
Where is the Android SDK installed by default on different OSes?
On Windows, the path usually looks like C:\Users\User_Name\AppData\Local\Android\Sdk. On macOS this is /Users/User_Name/Library/Android/sdk. In Linux, the home directory is most often used /home/Username/Android/Sdk. Please note that the AppData and Library folders are hidden by default.
Is it possible to copy the SDK folder to another computer?
Yes, it is possible. You can copy the entire SDK folder to external media and transfer it to another machine. However, after this you will need to register a new path in the Android Studio settings (File โ Project Structure โ SDK Location) and, possibly, re-accept the licenses via the command line.
What to do if the SDK Manager does not see the installed packages?
Try running the command File โ Invalidate Caches / Restart in the Android Studio menu. Sometimes the file index gets corrupted. Also check the permissions on the SDK folder - the current user must have read and write permissions to this directory.
Why do we need different versions of Build-Tools?
Different versions of build tools may handle code differently, optimize resources, or support new language standards. Some older libraries may require a specific version of the builder to work correctly, so having multiple versions is normal practice.
How can I update just one specific component?
In the list of SDK Manager packages, find the component you need. If an update is available for it, a down arrow or "Update" will appear next to the name. Click on it to select this particular package to update without affecting the others.