一、主要概念

1、Gradle是什么?

Gradle其实就是一个构建项目的工具,即把一堆堆的目录、文件按照一定的规则关联起来,形成一个项目的自动化构建工具。

Gradle版本,如gradle-4.10.1-all.zip

位置:项目主目录 gradle 文件夹->wrapper->gradle-wrapper.properties

#Wed Apr 18 10:44:08 CST 2018

distributionBase=GRADLE_USER_HOME

distributionPath=wrapper/dists

zipStoreBase=GRADLE_USER_HOME

zipStorePath=wrapper/dists

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

2、Gradle插件又是什么?

Gradle插件是针对Gradle发行版和Android SDK Build Tools封装的一个工具,主要有两大功能:

调用Gradle本身的代码和批处理工具来构建项目

调用Android SDK的编译、打包功能

Gradle插件版本

项目主目录下的 build.gradle 中,如“com.android.tools.build:gradle:3.3.0”

Gradle插件会有版本号(3.3.0),每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本,如gradle-4.1-all.zip)

dependencies {

classpath 'com.android.tools.build:gradle:3.3.0'

// classpath 'com.android.tools.build:gradle:2.3.3'

classpath "com.google.protobuf:protobuf-gradle-plugin:0.8.6"

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

}

3、 Android SDK Build Tools Version:Android SDK 构建工具版本

buildToolsVersion 位置:app 目录->buid.gradle 文件

android {

compileSdkVersion rootProject.ext.compileSdkVersion

buildToolsVersion rootProject.ext.buildToolsVersion

defaultConfig {

applicationId "com.sogou.teemo.translate.launcher"

minSdkVersion rootProject.ext.minSdkVersion

targetSdkVersion rootProject.ext.minSdkVersion

versionCode 48

versionName "1.4.8.${releaseTime()}"

// jackOptions {

// enabled false

// }

multiDexEnabled true //使能multDex

ndk {

abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'

}

}

}

二、依赖关系

明确概念:

Gradle Plugin Version: Gradle 插件版本

Gradle Version: Gradle发行版本

Android SDK Build Tools Version:Android SDK 构建工具版本

三者依赖关系

Gradle Plugin 有不同的版本号。 即我们常见的:classpath 'com.android.tools.build:gradle:3.0.1'】,

每个插件版本号又对应一个或一些 Gradle 发行版本【即我们常见的:gradle-4.1-all.zip】

如果这两个版本对应不上了,那么构建项目的时候就会报错。

Gradle Plugin 还和 Android SDK BuildTool 有关联,因为它还负责和编译相关的功能,这也是为何我们要在 build.gradle 里注明 buildToolsVersion 的原因。

三者对应关系如下表:

plugin version

Required Gradle version

Required Gradle version

1.0.0 - 1.1.3

2.2.1 - 2.3

1.2.0 - 1.3.1

2.2.1 - 2.9

1.5.0

2.2.1 - 2.13

2.0.0 - 2.1.2

2.10 - 2.13

21.1.1+

2.1.3 - 2.2.3

2.14.1+

23.0.2+

2.3.0+

3.3+

25.0.0+

2.3.0+

3.3+

3.0.0+

4.1+

26.0.2+ 不再需要为构建工具指定版本 - 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性

3.1.0+

4.4+

27.0.3+ 不再需要为构建工具指定版本 - 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性

3.2.0 - 3.2.1

4.6+

3.3.0 - 3.3.2

4.10.1+

3.4.0+

5.1.1+

参考链接:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐