不同於Eclipse,Android Studio是採用Gradle來構建項目的。Gradle是一個非常先進的項目構建工具,它使用了一種基於Groovy的領域特定語言(DSL)來聲明項目設置。 首先看項目最外層目錄下的build.gradle文件,代碼如下所示: ~~~ buildscript { ...
不同於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
這個插件。其中最後面的部分是版本號。
下麵我們來看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