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'
    }
}
相關文章
相關標籤/搜索