/
// 应用插件,两种值可选,'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.0minSdkVersion 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 |

