最外层build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
两处的 jcenter() 是一个代码托管仓库,声明这行配置后,可以引用任何 jcenter() 上的开源项目。
classpath 声明了一个Gradle插件,要想使用它构建 Android 项目需要声明这个插件,最后面的部分是插件版本号。
app目录下build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.example.sunshinexu" //项目包名
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false //是否对项目代码进行混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //指定混淆文件,第一个是Android SDK 目录下,第二个是当前项目根目录下。
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
}
第一行应用了一个插件,一般有两种值可选:
com.android.application 表示是一个应用程序模块,可以直接运行。
com.android.library 表示是一个库模块,作为代码库依附于别的应用程序模块来运行。compileSdkVersion 指定项目的编译版本
- buildToolsVersion 指定项目的构建工具版本
- minSdkVersion 指定项目最低兼容的 Android 系统版本
- targetSdkVersion 表示在该版本已经做了充分的测试,系统为应用程序启用最新的功能和特性,比如指定成23,系统为你的程序启用运行时权限功能,指定成22则不会启用。
- versionCode,versionName 指定版本号,版本名称,生成安装文件时非常重要。
- dependencies 闭包指定当前项目的依赖关系:本地依赖,远程依赖,库依赖。