项目场景
使用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重新打包.