1,android 中 build.gradle 之所以可以运行 是因为 groovy中有一个类加载器 GroovyClassLoader 通过方法 GroovyClassLoader.parseClass 可以把文本解析为一个Script 脚本类
2,android gradle 插件之所以需要依赖 buildToolsVersion的版本,网上说的一个原因是 gradle 插件 会调用 build 工具中的程序,所以 如果 插件版本太高,但是 buildToolsVersion 版本太低,那么可能插件需要调用的程序,在build工具中就不存在。而android 插件是基于 gradle版本开发的,所以依赖gradle版本。