----《Android Gradle 权威指南》学习笔记
1 在 IDEA 中应用 java 插件
1.1 在 IntelliJ IDEA 中新建 Java 工程后,默认就会应用 Java 插件,如图所示:![](https://img.haomeiwen.com/i5670791/d2336a3ca0854a97.png)
1.2 java 插件会为工程添加跟多有用的默认设置和约定,比如源代码的位置、单元测试代码的位置、资源文件的位置等。一般情况下写代码或该配置都按照这些默认的设置。因为这些都已经是约定俗成了,便于团队协作。
2 java 插件约定的项目结构
2.1 默认情况下,java 插件约定 src/main/java 是项目源代码存放目录;src/main/resources
![](https://img.haomeiwen.com/i5670791/15237ec53732a8b1.png)
2.2 main 和 test 是 java 插件内置的两个源代码集合,在项目中也可以自己添加一些目录。比如在项目中有 vip 版本,那就可以添加一个 vip 的目录存放相关的 java源码和文件。在 build.gradle 中需要如下配置:
sourceSets {
vip {
}
}
然后在项目的 src 路径下 添加 vip/java、vip/resources 目录就可以存放源码和资源文件了。添加后目录如图所示:
![](https://img.haomeiwen.com/i5670791/1daaaa3d3b92950a.png)
2.3 上面在 build.gradle 中添加目录的语句 vip{}
使用了简写,即使用了默认的配置,完整的写法应该是:
sourceSets {
vip {
java {
srcDir 'src/sourceSet/java'
}
resources {
srcDir 'src/sourceSet/resources'
}
}
}
所以也可以修改配置里面的路径,从而改变工程的结构,比如:
sourceSets {
vip {
java {
srcDir 'src/java'
}
resources {
srcDir 'src/res'
}
}
}
2.4 SourceSet -- 源代码集合(源集)是 Java 插件用来描述和管理源代码及其资源的一个抽象概念,是一个 Java 源代码文件和资源文件的集合。通过源集,可以非常方便地访问源代码目录,设置源集的的属性,更改源集的 Java 目录或资源目录等。
2.5 Java 插件在 Project 下提供了一个 sourceSets 属性以及一个 sourceSets{} 闭包来访问和配置源集。sourceSets 是一个SourceSetContainer。sourceSets{} 闭包配置的都是 SourceSet 对象。比如在 build.gradle 中添加一下任务:
task taskShowName{
sourceSets.all {
println name
}
}
在 IDE 的 Gradle 面板中执行 taskShowName 任务,或者在命令行中运行命令:
gradle taskShowName
打印结果:
> Configure project :
main
test
vip
2.6 源集有很多有用的属性,下面列出一些常用的属性:
属性名 类型 描述
name String 只读的,比如 main
output.classesDir File 源集编译后的 class 文件目录
output.resourcesDir File 编译后生成的资源目录
compileClasspath FileCollection 编译源集时所需的 classpath
java SourceDirectorySet 源集 Java 源文件
java.srcDirs Set 源集 Java 源文件的目录
resources SourceDirectorySet 源集的资源文件
resources.srcDirs Set 源集资源文件的目录
网友评论