Android工程中Gradle、Gradle Wrapper与Android Plugin for Gradle的区别

1、什么是Gradle?

    1.Gradle是一个构建系统、构建工具,用来编译Android APP,能够一站式的编译、打包。也就是把项目里的文件、文件夹按照一定的规则关联起来,形成一个项目的工具,它不单单用在AS上。在AS第一次启动时也会去自动下载Gradle。

    2.Gradle对应的是:gradle/wrapper里的distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

    3.Gradle其实跟AS没有必然的关系,在Google推出Android5.0时,在AS中选择了Gradle作为构建工具,为了支持Gradle在AS上的使用,Google开发了一个插件:Android Gradle Plugin,所以我门能在AS上使用Gradle是因为这个插件的原因。大家在项目的根目录下有个build.gradle,就能找到:classpath"com.android.tools.build:gradle:3.5.2",这个就是依赖gradle的代码,版本号代表的是插件的版本,不是Gradle的版本。


2、Gradle Wrapper

    本意为Gradle的包装,它的作用是简化Gradle本身的按照和部署。不同版本的项目可能需要不同版本的Gradle,手工部署比较麻烦,而且维护性比较差,所以需要Gradle Wrapper来帮你搞定。Gradle Wrapper是Gradle项目的一部分。

    两个不同版本的项目,如果同时运行,本地如果只装了其他的一个版本的Gradle,那肯定就不能同时运行两个项目,为了解决这个问题,Google推出了Gradle Wrapper的概念,它在每个项目里都配置了指定的版本的Gradle,可以理解为每个项目在本地都有一个相对应版本的Gradle,通过这个就可以在不同的项目里使用不同的Gradle版本来构建项目。


3、Gradle插件

    Gradle插件跟Android SDK BuildTool有关,因为它还惩戒者AS里的编译相关的功能,这也是我们为什么必须要在local.properties里写明sdk路径的原因

    Gradle插件独立于AS运行,所以他的更新也是与AS分开的,Gradle插件会有版本号,每一个版本号又对应一个或者一些Gradle发行版本,如:gradle-5.4.1-all.zip

    


    

你可能感兴趣的:(Android工程中Gradle、Gradle Wrapper与Android Plugin for Gradle的区别)