一、apply方法的使用
apply plugin:'java'
apply plugin:org.gradle.api.plugins.JavaPlugin
apply plugin:JavaPlugin
apply from:'version.gradle'
task ex52PrintlnTask {
println "App版本是:${versionName}, 版本号是:${versionCode}"
}
apply {
plugin 'java'
}
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 {
id "org.sonarqube" version "1.2"
}
四、自定义插件
apply plugin: zidingyiPlugin
class zidingyiPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('zidingyiPlugin') {
println "自定义插件"
}
}
}
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
buildscript {
dependencies {
classpath file('lib/CustomPlugin')
}
}
五、Java插件约定的项目结构
- java工程的默认存放目录:
apply plugin:'java'
sourceSets {
custom {
}
}
sourceSets {
main {
java {
srcDir 'src/java'
}
resources {
srcDir 'src/resources'
}
}
}
六、配置第三方依赖
repositories {
mavenCentral()
maven {
url 'http://www.mavenurl.com'
}
}
dependencies {
compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.0.1'
}
- 配置中心仓的方式,上面是配置了下载地点,下面是配置了要依赖什么组件
dependencies {
compile project(':exampleCustom')
}
- 依赖一个project,那么我们的工程中可以随便用这个依赖的工程中的类,就像都在一个工程里面一样。
- 下面各关键字的解释
- 除此之外,gradle还可以给不同的源码指定不同的依赖
dependencies {
mainCompile 'com.squareup.okhttp3:okhttp:3.0.1'
vipCompile 'com.squareup.okhttp:okhttp:2.5.0'
}
文件依赖
dependencies {
complie file('libs/jdis.jar', 'libs/nngi.jar')
}
dependencies {
compile fileTree(dir:'libs', includes:'*.jar')
}
七、构建一个Java项目
- build任务,比如clean,可以清除以前编译生成的文件,如果编译有问题,可以先执行clean,清理
- assemble任务,该任务不会执行单元测试,只会编译和打包,这个任务在Android里也有,执行它可以打apk包。
- javadoc任务,生成我们需要的doc api文档
八、源码
- gitee路径:https://gitee.com/dongqianrui/AndroidStudioProject/tree/master/Test1
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客园:https://www.cnblogs.com/ruigege0000/
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流