Installed Build Tools revision 31-33.x.x is corrupted.Remove and install again using the SDK Manager

目录

方式一、将 SDK 版本和 SDK Tools 版本降到 30 或更低的版本

方式二、修改 Android Sdk 安装目录里的文件名称


    笔者将一个旧项目的编译版本从 29 升级到了最新版本 33,项目的 build.gradle 文件修改如下:

//old version
//compileSdkVersion 29
//buildToolsVersion '29.0.2'

//latest vesion
compileSdkVersion 33
buildToolsVersion '33.0.1'

    在编译打包的过程中,报错信息如下:

Installed Build Tools revision 33.0.1 is corrupted. Remove and install again using the SDK Manager.

    然后笔者又尝试了下载了 SDK 更低的几个版本,包括 SDK 32 和  SDK 31 都同样报错。解决这个报错有以下两个方式:

方式一、将 SDK 版本和 SDK Tools 版本降到 30 或更低的版本

1. 进入 SDK Manager:

图 1

2. 下载 SDK:

图 2

3. 下载 SDK Tools:

图 3

方式二、修改 Android Sdk 安装目录里的文件名称

安装环境:

  • SDK 安装目录:/Users/{user name}/Library/Android/sdk/build-tools
  • Android Studio 安装版本:Android Studio Dolphin | 2021.3.1 Patch 1

    打开 Android SDK 安装目录下的 build tools 文件夹, 将 d8.bat 文件名修改为 dx.bat。同样道理找到 build tools 目录中的 lib/d8.jar,将文件名修改为dx.jar。 回到Android Studio重新打包,这个错误就不会再出现了。

build-tools/d8.bat  -> build-tools/dx.bat

build-tools/lib/d8.jar -> build-tools/lib/dx.jar

三、原因分析

    笔者将下载到本地 SDK 安装目录的不同 SDK 版本进行了对比,发现 30 以及更低的版本中,都同时存在 d8.bat 和 dx.bat,以及在 lib 目录下同时存在文件 lib/d8.jar 和 lib/dx.jar,如「下图4」。但是在 「31 - 33」 高版本都只存在文件 d8.bat 和 lib/d8.jar,如「下图5」。所以上面两个方式都可以解决问题,但是官方建议将我们在进行项目开发时,将 compileSdkVersion 升级到最新版本,所以建议还是用第二个方案更好。

图 4​​

图 5

  

    如果你对如何修改项目的「compileSdkVersion」 还有疑问,可以参考笔者另外一篇文章:

详解 MinSdkVersion、CompileSdkVersion、TargetSdkVersion 三者的区别、作用与关系(超详细图文教程)_思涛的博客的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/crazestone0614/article/details/128174736