一、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/
- 歡迎關注微信公衆號:傅里葉變換,個人賬號,僅用於技術交流