《Android 群英传》读书笔记
相关网站
一、常用命令
1. task
查看工程下的task
gradle task
查看各个task的具体作用与各个task之间的调用关系
gradle task --all
2. assemble task
assemble task 用于组合项目的所有输出,它包含了assembleDebug
和assembleRelease
两个Task。通过执行gradle assemble
指令,Gradle会编译出两个Apk——debug和release,如果要执行单独的编译命令,可以使用以下指令
gradle assembleRelease (简写 gradle aR,其它指令的简写基本类似)
3. Check
gradle check
用于执行检查任务
4.Build
gradle build
类似一个组合指令,他执行了check
和assemble
的所有工作
5.Clean
gradle clean
用于清理所有的中间编译结果,这个指令使用的非常广泛。当数据遇到一些莫名其妙的Gradle编译问题时,通常会先执行gradle clean
来清理中间数据,这也类似于IDE的clean工作。
二、Gradle进阶
1. 更改项目结构
Gradle提供自定义目录结构的方法,Android项目需要在android
领域中配置。如下所示
sourceSets {
main {
java.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jni.srcDirs = ['jni']
jniLibs.srcDirs = ['libs']
manifest.srcFile 'AndroidManifest.xml'
}
}
更多详情参考相关官方文档
2. 构建全局配置
开发者在写一般的java代码时,对于多处都要使用的常量,通常会提取出来作为一个全局常量。同样的,在Gradle中也可以使用全局配置,例如在多个modle中,要配置compileSdkVersion、buildToolsVersion等参数
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.test.gradle"
minSdkVersion 23
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
类似于写java代码,开发者可以使用全局变量同意这些配置
全局参数
在项目根目录下的build.gradle
中,通过ext
领域可以指定全聚德配置信息,代码如下所示。
ext {
compileSdkVersion = 27
applicationId = "com.test.gradle"
minSdkVersion = 23
targetSdkVersion = 27
versionCode = 1
versionName = "1.0"
}
这些配置基本上是整个项目的总体配置,下面的每个module都需要按照这个方式来进行配置,而不是在某个module中使用单独的配置。这样既不利于项目的管理,也不利于后期问题的分析、
引用配置
在配置好全局参数后,就可以在没法module中使用这些配置了,例如在一个module中,可以通过以下代码获取全局配置
and