Android 自定义Gradle 插件

Android 自定义Gradle插件 可以修改其中的打包流程。 Android Studio 没有选项来创建自定义Gradle 插件库,Gradle插件库的名字必须是buildSrc

1) 新建Gradle 插件项目

新建Module或者Android Library, 然后删除新建项目中的内容,只保留build.gradle和 src/main 目录

接下来修改插件项目build.gradle文件,配置如下:

apply plugin: 'groovy'

dependencies {
    compile gradleApi()
    compile localGroovy()
}

然后在buildSrc 项目中创建MyPlugin.groovy 类,groovy 和 java 语法一致。

package com.xiongliang.buildsrc

import org.gradle.api.Plugin
import org.gradle.api.Project

public class MyPlugin implements Plugin {
    @Override
    void apply(Project project) {
        def extension = project.extensions.create("pluginSrc",MyExtension)
        project.task("myPlugin")  {
            println(String.valueOf(extension.message))
        }
    }
}

最后创建resources 文件下,以及相应的META-INF.gradle-plugins 子文件夹, 并在文件夹中创建com.xiongliang.plugin.properties文件, 代码结构如下图:

Android 自定义Gradle 插件_第1张图片

图中 com.xiongliang.plugin文件是自定义Gradle 插件的入口,里面只有一行代码,指定执行这个自定义插件,就会进入先执行MyPlugin类的apply 方法

implementation-class=com.xiongliang.buildsrc.MyPlugin

2)使用自定义 Gradle插件

在主App 项目的build.gradle 中,增加对gradle 插件的引用,其中的值与插件中定义的com.xiongliang.plugin 名字一致。

apply plugin: 'com.xiongliang.plugin'
pluginSrc {
    message = 'gradle plugin'
}

配置完毕之后,点击Android Studio 导航栏中的Sync Project With Gradle Files 按钮, 就会在Gradle Projects面板中生成一个新的task, 名字是myPlugin, 位于other 分组中,点击myPlugin, 就会在Gradle Console 面板中打印日志。

参考: https://github.com/wequick/Small/tree/master/Android/DevSample/buildSrc

 

你可能感兴趣的:(andoid基础)