Gradle其实就是一个构建项目的工具,即把一堆堆的目录、文件按照一定的规则关联起来,形成一个项目的自动化构建工具。
位置:项目主目录 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
Gradle插件是针对Gradle发行版和Android SDK Build Tools封装的一个工具,主要有两大功能:
调用Gradle本身的代码和批处理工具来构建项目
调用Android SDK的编译、打包功能
项目主目录下的 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" }
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+ |
https://blog.csdn.net/gongxiaoou/article/details/81082387
http://www.blogdaren.com/post-2418.html
https://developer.android.google.cn/studio/releases/gradle-plugin
以上就是gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系的详细内容,更多关于gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系的资料请关注九品源码其它相关文章!