Understanding the Issue
When starting a new Android project or building an existing one, you might encounter an error message in Android Studio indicating that your installed Build Tools revision is corrupted. This typically appears with errors like "Installed Build Tools revision 31.0.0 is corrupted." This issue can be frustrating, especially for beginners, but it usually stems from a mismatch or missing files within your Android SDK installation.
Identifying the Root Cause
The error arises because the necessary build tools, specifically dx.bat
(on Windows) or dx
(on macOS/Linux) and dx.jar
, are either missing or incorrectly named within your Android SDK’s build-tools directory. Recent Android SDK updates have transitioned from using dx
to d8
as the default dex compiler. However, older Gradle plugin versions might still expect to find dx
, leading to this error.
Solution: Renaming Files
The most common and effective solution involves renaming the d8
files to dx
within the appropriate directories. This ensures that the build process can locate the expected files.
Steps:
1. Locate the Build Tools Directory:
The location of your Android SDK will vary based on your operating system and installation choices. Here are common locations:
- Windows:
C:\Users\<YourUsername>\AppData\Local\Android\Sdk\build-tools\<version>
(e.g.,C:\Users\YourUsername\AppData\Local\Android\Sdk\build-tools\31.0.0
) - macOS/Linux:
/Users/<YourUsername>/Library/Android/sdk/build-tools/<version>
(e.g.,/Users/YourUsername/Library/Android/sdk/build-tools/31.0.0
)
Remember that AppData
on Windows and Library
on macOS/Linux are often hidden folders. You may need to configure your file explorer to show hidden files and folders.
2. Rename d8.bat
to dx.bat
(Windows Only):
Within the build-tools directory (e.g., 31.0.0
), locate the file d8.bat
and rename it to dx.bat
.
3. Rename d8.jar
to dx.jar
:
Inside the lib
subdirectory within the build-tools directory (e.g., C:\Users\YourUsername\AppData\Local\Android\Sdk\build-tools\31.0.0\lib
), locate d8.jar
and rename it to dx.jar
.
Specific Instructions for macOS/Linux (Using Terminal):
Open your terminal and execute the following commands, replacing <YourUsername>
with your actual username:
cd ~/Library/Android/sdk/build-tools/31.0.0
mv d8 dx
cd lib
mv d8.jar dx.jar
Alternative Solution: Updating or Downgrading Build Tools & Gradle
If renaming the files doesn’t resolve the issue, consider the following:
-
Update Android Studio and SDK: Ensure you’re using the latest version of Android Studio and that your SDK components are up to date.
-
Adjust
build.gradle
Settings: In your project’sbuild.gradle
(Module: app) file, you can try changing thecompileSdkVersion
,buildToolsVersion
, andtargetSdkVersion
to match an installed SDK version. After making changes, sync your project.android { compileSdkVersion 30 buildToolsVersion "30.0.3" // ... other settings }
-
Upgrade AGP (Android Gradle Plugin): Consider upgrading your Android Gradle Plugin (AGP) to version 7.x. This newer version is better equipped to handle the transition to
d8
.
Best Practices & Troubleshooting
- Regularly Update: Keep your Android Studio, SDK, and Gradle plugin updated to benefit from the latest bug fixes and improvements.
- Verify SDK Installation: Double-check that the specified build-tools version in your
build.gradle
file is actually installed in your SDK. - Sync Project: After making any changes to your
build.gradle
file, always sync your project with the Gradle files. - Clean Build: If you continue to encounter issues, try cleaning your project (Build > Clean Project) and then rebuilding it.