使用jdk1.8编译的jar需要使用最新的dx才能够编码。如果使用build-tools-25,那么会报错,提示不支持class的版本(52)。把sdk的build-tools替换成最新的28,gradle打包工程没有问题,但是adt在加载dx时会报错:Unable to build: the file dx.jar was not loaded from the SDK folder。
有兴趣的朋友可以反编译adt插件去查看源码。负责dx操作的类是DexWrapper。该类不是直接运行命令行来执行dx的,而是加载dx.jar后调用run函数:

新版dx.jar已经去除DxConsole,这样就导致adt无法正确使用dx。
解决方法很简单,只需要把旧版的DxConsole打包到新版dx.jar就行。
这是我重新打包build-tools-28的dx.jar,里面加入build-tools-25的DxConsole:
https://pan.baidu.com/s/1louvseoK7y26M-2iCwNFsA
adt开发安卓应用还是很经典的,毕竟不用多装个ide。但是,发布应用,建议使用gradle打包,adt比较适合开发调试。由于adt已经不再维护,所以一些问题需要自己处理。一方面,可以调整插件(反编译),另一方面调整sdk。一般,sdk升级build-tools和platforms是不用升级adt的。升级build-tools可以提升adt的编译版本。升级platforms可以提升adt支持的开发版本。升级好以上两个模块,继续开发是没有问题的。
只想使用adt开发的方案:
SDK升级镜像:http://mirrors.neusoft.edu.cn/android/repository/
升级编译工具,请下载需要的build-tools。版本号可查看source.properties文件。adt默认会使用最新的版本。gradle配置buildToolsVersion来选择版本。注意,若升级后,发现dx.jar无法使用,请修正dx.jar问题。新版dx.jar已经去除DxConsole,导致adt无法正确加载。拷贝旧版的DxConsole重新打包dx.jar就可以。
升级开发平台,请下载需要的platforms。版本号可查看source.properties文件。
有兴趣的朋友可以反编译adt插件去查看源码。负责dx操作的类是DexWrapper。该类不是直接运行命令行来执行dx的,而是加载dx.jar后调用run函数:

新版dx.jar已经去除DxConsole,这样就导致adt无法正确使用dx。
解决方法很简单,只需要把旧版的DxConsole打包到新版dx.jar就行。
这是我重新打包build-tools-28的dx.jar,里面加入build-tools-25的DxConsole:
https://pan.baidu.com/s/1louvseoK7y26M-2iCwNFsA
adt开发安卓应用还是很经典的,毕竟不用多装个ide。但是,发布应用,建议使用gradle打包,adt比较适合开发调试。由于adt已经不再维护,所以一些问题需要自己处理。一方面,可以调整插件(反编译),另一方面调整sdk。一般,sdk升级build-tools和platforms是不用升级adt的。升级build-tools可以提升adt的编译版本。升级platforms可以提升adt支持的开发版本。升级好以上两个模块,继续开发是没有问题的。
只想使用adt开发的方案:
SDK升级镜像:http://mirrors.neusoft.edu.cn/android/repository/
升级编译工具,请下载需要的build-tools。版本号可查看source.properties文件。adt默认会使用最新的版本。gradle配置buildToolsVersion来选择版本。注意,若升级后,发现dx.jar无法使用,请修正dx.jar问题。新版dx.jar已经去除DxConsole,导致adt无法正确加载。拷贝旧版的DxConsole重新打包dx.jar就可以。
升级开发平台,请下载需要的platforms。版本号可查看source.properties文件。