/
// 应用插件,两种值可选,'com.android.application'与'com.android.library'
// 其中 'com.android.application'声明这是一个应用程序模块
// 'com.android.library'声明这是一个库模块
apply plugin: 'com.android.application'
//安卓闭包
android {
// 声明该应用/库编译使用的AndroidSDK版本
compileSdkVersion 30
// 用于声明该构建工具的版本
buildToolsVersion "30.0.2"
//默认配置
defaultConfig {
// 项目包名
applicationId "com.example.testapplication"
// 最低兼容的Android版本,24指定为Andorid7.0
minSdkVersion 24
// 表示在目标版本上已经进行过充分测试,系统将会为你的应用程序启用一些最新的功能和特性
// 比如Android 6.0中支持运行时权限,那么targetSdkVersion大于等于23的时候就能启用该功能
// 但targetSdkVersion小于23,则不能启用运行时权限
targetSdkVersion 30
// 项目版本号
versionCode 1
// 项目版本名
versionName "1.0"
//
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
// buildTypes闭包中用于指定生成安装文件的相关配置
buildTypes {
// debug闭包用于指定生成测试版安装文件的配置,此处忽略未写
// release闭包用于指定生成正式版安装文件的配置
release {
// 是否开启代码混淆
minifyEnabled false
// 指定混淆使用的规则文件
// proguard-android.txt是在Android SDK目录下的,里面是所有项目通用的混淆规则
// proguard-rules.pro是在当前项目的根目录下的,里面可以编写当前项目特有的混淆规则
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
// 指定当前项目所有的依赖关系
// 通常Android Studio项目一共有3种依赖方式:本地依赖、库依赖和远程依赖
// 本地依赖可以对本地的Jar包或目录添加依赖关系
// 库依赖可以对项目中的库模块添加依赖关系
// 远程依赖则可以对jcenter库上的开源项目添加依赖关系
dependencies {
// 指定将libs目录下的所有以后缀为.jar的文件导入,即导入jar包
implementation fileTree(dir: "libs", include: ["*.jar"])
// 使用该方式依赖的库将会参与编译和打包
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
// 只在单元测试代码的编译以及最终打包测试apk时有效
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
dependencies
在Android Studio3.0之后,gradle也升级到3.x,依赖的方式进行更改,从原先的compile等方式更改为implementation,Android Studio也对这些方式进行一些扩充
compile
最普通的依赖方式,参与编译与打包
- provided | gradle2.x | gradle3.x | | :—-: | :—-: | | | implementation | | compile | api | | provided | compileOnly |