AndroidStudio、gradle、buildToolsVersion关系

使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目从新sync后都会报错,提示更新相应的其余版本,好比AndroidStudio、gradle、buildToolsVersion版本;android

先来讲说概念

AndroidStudio: 是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,,相似以前的eclipse,可是比eclipse 强大不少,推荐使用;编程

Gradle:是一个工具,同时它也是一个编程框架。使用这个工具能够完成app的编译打包等工做;app

buildToolsVersion: android构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX,经过SDK Manager 更新; 
comileSdkVersion:编译版本,就是运行咱们这个项目的须要的android SDK版本;框架

comileSdkVersion 和buildToolsVersion区别

新建一个项目,看build.gradle文件的配置,以下:eclipse

build.gradle

CompileSdkVersion:是告诉gradle 用哪一个SDK版原本编译,和运行时要求的版本号没有关系;使用任何新添加的 API 就须要使用对应 Level 的 Android SDK。maven

buildToolsVersion: android构建工具的版本,在SDK Manager中安装选择版本,buildToolsVersion的版本须要>=CompileSdkVersion; 高版本的build-tools 能够构建低版本编译的android程序;工具

SDK Manager

gradle版本和com.android.tools.build:gradle配置的版本关系

以前会奇怪,为何一更新gradle 插件版本,会报错 
以下图,红色部分配置的就是android gradle 插件的版本,gradle插件的版本号和gradle版本号是对应的,较新的插件版本须要要求较新版的gradle,因此提示你更新gradle; 开发工具

 

1. 问题描述:gradle

android studio中,新导入一个android项目,编译错误以下:ui

Error:Could not find com.android.tools.build:gradle:3.3.
Searched in the following locations:
    file:/D:/as231/gradle/m2repository/com/android/tools/build/gradle/3.3/gradle-3.3.pom
    file:/D:/as231/gradle/m2repository/com/android/tools/build/gradle/3.3/gradle-3.3.jar
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/3.3/gradle-3.3.pom
    https://repo1.maven.org/maven2/com/android/tools/build/gradle/3.3/gradle-3.3.jar
Required by:
    project :

 

2. 分析与解决:

很显然,是gradle版本没有找到。查看本地目录,的确没有“D:/as231/gradle/m2repository/com/android/tools/build/gradle/3.3/”。

只有一个2.3.1的目录。因而,将build.gradle中相关的classpath改成2.3.1,问题解决。以下图:

 

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
    }
}
相关文章
相关标签/搜索