Android】Installed Build Tools revision _xx.0.0 is corrupted
项目场景:
使用31.0.0及以上版本的build-tools编译Android应用时。
问题描述
编译应用时遇到如下报错
Installed Build Tools revision 33.0.0 is corrupted. Remove and install again using the SDK Manager.
有些人会按照提示去SDK Manager中重新安装build tools,然后发现这样做是徒劳的。
原因分析:
在Sync project with gradle files时,会收到如下warning
Task :prepareKotlinBuildScriptModel UP-TO-DATE
Build-tool 33.0.0 is missing DX at D:\Programs\Android\sdk\build-tools\33.0.0\dx.bat
Build-tool 33.0.0 is missing DX at D:\Programs\Android\sdk\build-tools\33.0.0\dx.bat
这个warning说明build tools中缺少dx.bat这个批处理文件。
实际上是因为在31版本之后的build tools中,dx.bat被d8.bat替代了。
解决方案:
明白原因之后,就有两种方法任君选择。
更改批处理文件名称
找到build tools目录中的d8.bat,将文件名修改为dx.bat。
找到build tools目录中的lib/d8.jar,将文件名修改为dx.jar。
回到Android Studio重新打包。
降级build tools
打开项目的build.gradle,将buildToolsVersion降级到30.0.0或者更老的版本,targetSdkVersion与compileSdkVersion同理。