Android API已经更新到33了,相应的Android系统目前已经出到12了,作为开发者,项目也需要将targetSdkVersion升级到31,毕竟Google play 已经要求上架的APP targetSdkVersion最低为31。
既然升级到31,那么buildToolsVersion也需要跟着更新到31,当我们将targetSdkVersion升级到31的时候,buildToolsVersion也下载到31的版本的时候,会发现项目编译正常,但是运行报错。
错误如下:
意思是31的构建工具已经损坏,重新卸载后安装还是报错。所以不是下载过程的问题。
解决这个问题有两种方法
一、降低targetSdkVersion版本 ,同时也降低buildToolsVersion版本,本来就是要升级,现在说降低,此方案只适合对targetSdkVersion没要求升级到31的项目。
二、修改两个文件名称。
(1)进入到自己SDK的目录;
(2)进入到build-tools\31.0.0,修改 d8.bat 文件,将其名字改为dx;
(3)进入到build-tools\31.0.0\lib目录,修改d8.jar文件,将其名字改为dx.jar
然后重新编译项目,运行后发现错误已解决。