Android Gradle作用
Gradle是什么
Gradle是一个自动化构建继承工具,它基于JVM,运行在JAVA的环境之上,可以通过简单的配置就可以快速的编译打包,同时它也支持多工程构建、局部构建、多方式以来等特点。
Android开发者是如何解除到Gradle的,因为每当我们创建一个项目,就会的模块目录下和根目录下默认创建bulid.gradle,我们通过引用库来管理第三方的Library,也可以编写一些变量和脚本去编译我们的程序,比如修改生成apk的名称等。
Groovy
Gradle 构建脚本是遵循Groovy的脚本文件,Gradle文件中支持任何的Groovy的语法,但我们仅作为安卓工程师来说,不需要都了解Groovy的语法,因为在安卓中所需要的脚本,官方已经帮我们定义好了,我们要遵循它的格式去开发代码。
比如
defaultConfig {
applicationId "com.demo.demo"
minSdk 21
targetSdk 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
复制代码
minSdk - 该应用支持的最小版本
targetSdk - 该应用基于的目标版本
versionCode - 该应用的版本号
versionName - 该应用的版本名
Gradle项目依赖
Gradle让依赖管理变得简单,在多个项目依赖同一个库时变得方便,增强了代码的共用性,比如说:
组件化,将多个module串联在一起
依赖同一个Library
另外Gradle引用好库之后,会帮我们自动下载,并使用缓存文件,在以前的eclipse年代就需要下载jar,然后导入,就会显得很繁重。
Gradle在Android中的结构
Gradle让Android项目变得有层次感,也让多个库之间的协调更加方便,通过Gradle也可以让安卓项目变得简洁。比如可以拆分module。
app
baseModule: Util、Common
来看看Gradle在安卓中文件的作用。
.gradle - 缓存目录,保存临时Gradle的缓存和输出,删除之后会重新创建
app - 单独的module,每个module下都应有一个build.gradle负责构建单个module
gradle- 存放一个jar文件,gradle的版本信息
build.gradle- 负责整体项目的构建
gradle.properties- 配置信息,比如是否启用androidX
settings.gradle- 定义整体构建中的子项目
Gradle在Android常用功能
更改apk名
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = rootProject.getName() +"-v"+defaultConfig.versionName +"-"+defaultConfig.versionCode +".apk"
}
}
复制代码
设置调试开关
buildTypes {
release {
...
//会在BuildConfig这个类中生成一个变量,变量名为LOG_DEBUG,值为false
buildConfigField("boolean", "LOG_DEBUG", "false")
}
debug {
...
buildConfigField("boolean", "LOG_DEBUG", "true")
}
}