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<Project> {
    @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文件, 代码结构如下图:

图中 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值