Android Studio採用Gradle構建項目。項目中又兩個build.gradle文件,一個在最外層的目錄中,一個在app目錄下。android
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() jcenter() //代碼託管倉庫 } dependencies { classpath "com.android.tools.build:gradle:4.0.0" //構建Android項目,須要引用 // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() //代碼託管倉庫 } } task clean(type: Delete) { delete rootProject.buildDir }
apply plugin: 'com.android.application' //應用程序模塊(直接運行),還有一個值可選com.android.library庫模塊(依賴別的應用程序模塊) android { //android閉包,配置項目構建的各類屬性。 compileSdkVersion 29 //項目的編譯版本 buildToolsVersion "30.0.0" //項目構建工具的版本 defaultConfig { //對項目更多細節配置 applicationId "com.et.helloworld" //項目的包名,若是想要修改包名,直接在這修改 minSdkVersion 23 //項目最低兼容的Android系統版本 targetSdkVersion 29 //在目標版本上作過充分的測試,系統爲應用程序啓用一些最新的功能和特性。 versionCode 1 //項目版本號 versionName "1.0" //項目的版本名。 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //testInstrumentationRunner代表要使用AndroidJUnitRunner進行單元測試 } buildTypes { //用於指定生成安裝文件的相關配置,兩個包,一個是debug,一個是release。debug閉包用於指定生成測試版安裝文件的配置。release用於生成正式版安裝文件的配置。debug能夠忽略不寫。 release { minifyEnabled false //用於指定是否對項目的代碼進行混淆 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //指定混淆時的規則文件。proguard-android-optimize.txt是Android SDK目錄下的。proguard-rules.pro項目根目錄下的。 } } } dependencies { //指定當前項目全部的依賴關係。一共又三種依賴方式:本地依賴,庫依賴,遠程依賴。 implementation fileTree(dir: "libs", include: ["*.jar"]) //本地依賴聲明,表示將libs目錄下全部.jar後綴的文件都添加到項目構建路徑中。 implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' }