不一樣於Eclipse,Android Studio是採用Gradle來構建項目的。Gradle是一個很是先進的項目構建工具,它使用了一種基於Groovy的領域特定語言(DSL)來聲明項目設置。
首先看項目最外層目錄下的build.gradle文件,代碼以下所示:
~~~
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
~~~
這些代碼是自動生成的,
首先兩處,repositories的閉包中都聲明瞭jcenter()這個配置。jcenter是一個代碼託管倉庫。
接下來,dependencies閉包中使用classpath聲明一個Gradle插件。由於Gradle並非專門爲構建Android項目而開發的,所以若是咱們要想使用它來構建Android項目,則須要聲明com.android.tools.build:gradle:3.1.3
這個插件。其中最後面的部分是版本號。android
下面咱們來看app目錄下的build.gradle文件,代碼以下所示:
~~~
apply plugin: 'com.android.application'緩存
android {
compileSdkVersion 28
buildToolsVersion '28.0.0'
defaultConfig {
applicationId "com.lowthink.helloworld"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}閉包
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test🏃1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}app
第一行應用了一個插件,通常有兩種值可選: * com.android.application 表示這是一個應用程序模塊, * com.android.library 表示這是一個庫模塊。 應用程序模塊和庫模塊的最大區別在於,一個是能夠直接運行的,一個只能做爲代碼庫依附於別的應用程序模塊來運行。 * * * * * **android閉包**:在這個閉包中咱們能夠配置項目構建的各類屬性。 * **compileSdkVersion**:用於指定項目構建的版本,這裏指定成28標示使用Android 9.0系統的SDK編譯。 * **buildToolsVersion**:用於指定項目構建工具的版本,目前最新的28.0.0,若是有更新的版本時,Android Studio會進行提示。修改buildToolsVersion有兩種方法, 第一種直接在app中的build.gradle裏添加
android {
compileSdkVersion 28
buildToolsVersion '28.0.0'
defaultConfig {}
buildTypes {}
}
~~~工具
第二種方法是選中項目,而後點鼠標右鍵,Open Module Settings,進入裏面直接更改 buildTools的版本,如圖測試
也能夠點右上角的這個圖片,如圖gradle
buildTypes閉包:用於指定生成安裝文件的相關配置,一般只會有兩個自閉包,一個是debug,一個是release。ui
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
聲明,爲了ConstraintLayout的使用(瞭解更多請移步這裏)第四行代碼testImplementation是用於聲明測試用例庫的;google
本文由博客一文多發平臺 OpenWrite 發佈!spa