AndroidStudio buildToolsVersion=33编译报错问题

1,070 阅读1分钟

解决方案记录来源

项目场景

使用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替代了.

解决方案

1.找到build tools中对应api版本目录中的d8.bat,将文件名修改为dx.bat.
2.找到build tools中对应api版本目录中的lib/db.jar,将文件名修改为dx.jar.
3.回到AndroidStudio重新打包.