一、apply方法的使用
apply plugin:\'java\'
// 上面是一个短名,下面也有一个完整的名字
apply plugin:org.gradle.api.plugins.JavaPlugin
// 由于org.gradle.api.plugins是默认导入的,所以可以简写为
apply plugin:JavaPlugin
apply from:\'version.gradle\'
task ex52PrintlnTask {
println \"App版本是:${versionName}, 版本号是:${versionCode}\"
}
apply {
plugin \'java\'
// 该闭包被用来配置一个ObjectConfigurationAction对象,所以你可以在闭包中使用ObjectConfigurationAction
// 对象的方法、属性等进行配置,
}
// Action的方式:
apply(new Action<ObjectConfigurationAction>() {
@Override
void execute(ObjectConfigurationAction objectConfigurationAction) {
objectConfigurationAction.plugin(\'java\')
}
})
-
最后一种方式就是自定义一个action,然后在其execute方法中书写业务逻辑
二、使用第三发插件进行配置
buildscript {
repositories {
jcenter()
}
dependencies {
classpath \'com.android.tools.build:gradle:1.5.0\'
// 这里面就是自定义的第三方插件,在构建项目之前,为项目进行前期相关准备和初始化配置的地方
}
}
apply plugin: \'com.android.application\'
三、plugins DSL方式
plugins {
id \'java\'
}
// plugins DSL是一种新的插件应用方式
-
使用这种方式和上面还是有一定差异,如果插件已经托管在了https://plugins.gradle.org/上,就可以不用在buildscript中配置classpath的依赖了,直接使用即可
plugins {
id \"org.sonarqube\" version \"1.2\"
}
四、自定义插件
apply plugin: zidingyiPlugin
class zidingyiPlugin implements Plugin<Project> {
void apply(Project project) {
project.task(\'zidingyiPlugin\') {
println \"自定义插件\"
}
}
}
-
下面新建一个Groovy工程,自定义个jar包
package com.example.myapplication;
import org.gradle.rujews.plugin;
import org.
public class CustomPlugin implements Plugin<Project>{
@Override
void apply(Project target) {
target.task(\"CustomTask\") {
println \"自定义插件\"
}
}
}
-
插件开发所需要的依赖
apply plugin: \'groovy\'
dependencies {
compile gradleApi()
compile localGroovy()
}
-
在src/main/resources/META-INF/gradle-plugins目录下新建一个plugin id的properties文件内容为 implementation-class=com.example.myapplication.CustomPlugin
-
然后再build.gradle中使用
buildscript {
dependencies {
classpath file(\'lib/CustomPlugin\')
}
}
五、Java插件约定的项目结构
-
java工程的默认存放目录:
apply plugin:\'java\'
sourceSets {
custom {
}
}
// 添加一个custom的源代码集合,然后我们在src下新custom/java,custom/resources目录就可可以
// 存放源代码和资源文件,他们默认的目录结构就是src/sourceSet/java src/sourceSet/resources
sourceSets {
main {
java {
srcDir \'src/java\'
}
resources {
srcDir \'src/resources\'
}
}
}
六、配置第三方依赖
repositories {
mavenCentral() // 配置了一个Maven中心库
maven {
url \'http://www.mavenurl.com\'
}
}
dependencies {
compile group: \'com.squareup.okhttp3\', name: \'okhttp\', version: \'3.0.1\'
// 或者简写为complile \'com.squareup.okhttp3:okhttp:3.0.1\'
}
-
配置中心仓的方式,上面是配置了下载地点,下面是配置了要依赖什么组件
// 下面是依赖一个project
dependencies {
compile project(\':exampleCustom\')
}
-
依赖一个project,那么我们的工程中可以随便用这个依赖的工程中的类,就像都在一个工程里面一样。 -
下面各关键字的解释
-
除此之外,gradle还可以给不同的源码指定不同的依赖
dependencies {
mainCompile \'com.squareup.okhttp3:okhttp:3.0.1\'
vipCompile \'com.squareup.okhttp:okhttp:2.5.0\'
}
文件依赖
-
我们把自有的一个jar放到本地,进行锁定依赖
dependencies {
complie file(\'libs/jdis.jar\', \'libs/nngi.jar\')
}
dependencies {
// 使用文件树的形式,可以把整个目录已经正则表达式引入
compile fileTree(dir:\'libs\', includes:\'*.jar\')
}
七、构建一个Java项目
-
build任务,比如clean,可以清除以前编译生成的文件,如果编译有问题,可以先执行clean,清理 -
assemble任务,该任务不会执行单元测试,只会编译和打包,这个任务在Android里也有,执行它可以打apk包。 -
check任务,只会执行单元测试,不会打jar包 -
javadoc任务,生成我们需要的doc api文档
八、源码
-
gitee路径:https://gitee.com/dongqianrui/AndroidStudioProject/tree/master/Test1 -
CSDN:https://blog.csdn.net/weixin_44630050 -
博客园:https://www.cnblogs.com/ruigege0000/ -
欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
来源:https://www.cnblogs.com/ruigege0000/p/16205331.html
本站部分图文来源于网络,如有侵权请联系删除。