一、Gradle构建
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.1.1' } } allprojects { repositories { google() jcenter() } }
Gradle是一个基于Apache Maven和Apache Ant概念的项目自动化构建工具。它可以自动化测试、编译、打包、部署、发布以及其他开发任务。在使用Android Studio进行开发时,默认使用Gradle进行项目构建。 在build.gradle中添加了dependencies,可以引入所需要的依赖库。
二、插件
apply plugin: 'com.android.application'
应用插件告诉Gradle要如何构建Android应用程序。使用com.android.application插件即可告诉Gradle我们正在构建一个Android应用程序。
三、依赖关系
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' }
应用程序通常需要引用其他库来实现某些功能或使用某些库中提供的通用代码。在dependencies模块下可以添加所需要引用的库。 在上面的示例中,实现了以下库的引用:
fileTree(dir: 'libs', include: ['*.jar'])表示从libs目录下引用jar包。
implementation 'androidx.appcompat:appcompat:1.2.0'引用了一个名为appcompat的库,这个库是包含了Google设计支持库的兼容性库。
implementation 'com.google.android.material:material:1.2.1'引用了一个称为Material Design的库,可以使用它来实现更漂亮的用户界面特效。
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' 引用了一个称为ConstraintLayout的库,这个库可以实现复杂的UI构建。
四、构建类型
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { debuggable true } }
通过构建类型(build type),我们可以为不同的部署目标指定不同的构建选项。在构建类型的配置中,可以更改一些构建和打包过程的配置,例如为发布版本打开混淆和压缩功能,或为Debug版本打开调试标记等。
五、编译版本和最小SDK版本
android { compileSdkVersion 30 defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }
compileSdkVersion是在构建过程中的Android SDK版本。对于新项目,它通常设置为最新推出的Android版本。minSdkVersion是必须支持的最低版本,目标平台的版本是targetSdkVersion。versionCode和versionName是生成的APK文件中的版本号。testInstrumentationRunner告诉Gradle在运行AndroidJUnit测试时使用哪个运行器。