Android Studio error "Installed Build Tools revision 31.0.0 is corrupted"

Solution 1:

First of all, I faced this issue in Android Studio 4.2.2 and you do not need to downgrade the SDK build tool from 31 to 30 or change compile SDK version.

The main problem is the two files missing in SDK build tool 31 that are:

  1. dx.bat
  2. dx.jar

The solution is that these files are named d8 in the file location so changing their name to dx will solve the error.

The steps are below.

For Windows

  1. go to the location

     "C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0"
    
  2. find a file named d8.bat. This is a Windows batch file.

  3. rename d8.bat to dx.bat.

  4. in the folder lib ("C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib")

  5. rename d8.jar to dx.jar

Remember AppData is a hidden folder. Turn on hidden items to see the AppData folder.

For macOS or Linux

# change below to your Android SDK path
cd ~/Library/Android/sdk/build-tools/31.0.0 \
  && mv d8 dx \
  && cd lib  \
  && mv d8.jar dx.jar

Now run your project.

Solution 2:

The same problem was encountered and solved with a few line changes.

Check the Project code panel, and go to Gradle Scriptsbuild.gradle file,

  1. Change three places from 31 to 30: compileSdkVersion, buildToolsVersion, and targetSdkVersion
  2. You'll notice a lightbulb hit occurring on modified lines. Click and choose sync [to version 30]. Android Studio will automatically download BuildTool V30 and change project settings.

Now run the app. It works for me.

Solution 3:

The point is not to downgrade target API level, but to build exactly for API level 31 to prepare and test an app for Android 12!

It looks like DX is removed from SDK in favor of D8.

It looks like that Android Gradle plugin 4.x is not aware of that.

At the moment I see only two solutions:

  1. To stay with AGP 4.x, one should copy DX from 30.0.3 to 31.0.0
  2. Upgrade AGP to 7.x

Solution 4:

The solution for Mac is pretty similar to Windows, yet not fully conclusive from reading the Windows solution. The paths and file names are different, but the problem is basically the same.

  • Open the terminal application and type the commands below
  • Hit Enter after every command line you type to execute the command
  • Type cd /Users/admin/Library/Android/sdk/build-tools/
  • Attention: Your user directory name may be different from "admin"
  • Navigate to the corresponding version: type cd 31.0.0
  • Type cp d8 dx
  • Type cd lib
  • Type cp d8.jar dx.jar

This fixed my issues on macOS v10.13.6 (High Sierra).