使用Android Studio开发gradle插件(一)

本文详细介绍了如何在Android Studio中创建并打包gradle插件,首先需要将module改造为groovy项目,创建groovy源代码和资源目录,接着在groovy文件中编写插件逻辑,在resources/META-INF/gradle-plugins下声明插件类。完成后,通过修改build.gradle配置,打包插件到本地maven仓库。最后,展示了如何在项目中引用并使用自定义的gradle插件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Android Studio开发gradle插件

创建插件

在Android studio中不能直接创建gradle plugin,所以我们创建一个library,并对其进行修改。
在这里插入图片描述
gradle插件是基于groovy来进行开发的,所以我们需要将我们的module改造成一个groovy项目。
创建完成之后,删除module里边的文件,只保留src/main和build.gradle文件。

然后在main文件夹下添加groovy目录和resources目录,groovy目录用来保存插件内容,resources目录用来声明plugin类,让gradle识别我们写好的插件。

  1. 在groovy目录下根据我们自己的需求新建一个包名,然后在该包名下边新建groovy文件,通过new->file-> xxx.groovy,新建groovy文件,注意一定要加上后缀名。
  2. 在resources目录下新建META-INF/gradle-plugins目录,然后在目录中创建properties文件,注意:该文件你可以随意取名,后续我们在其他地方使用这个插件的时候,会用到这个名称。例如我们在项目的gradle文件中使用一个gradle插件,apply plugin: 'xxx' 这里的xxx就是这个文件的名字 。然后在文件中指明你要声明的插件类,例如刚才你声明的groovy文件
    implementation-class=com.gitzzp.eplugin.PluginOne
    
  3. 修改build.gradle文件,删除build.gradle文件中的所有内容,替换为
    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    dependencies {
        implementation gradleApi() //gradle sdk
        implementation localGroovy() //groovy sdk
    }
    
    repositories {
        jcenter()
    }
    
  4. 编写groovy文件
    package com.gitzzp.eplugin
    
    import org.gradle.api.Plugin
    import org.gradle.api.Project
    
    public class PluginOne implements Plugin<Project> {
    
        @Override
        void apply(Project target) {
            println("hello gradle plugin!")
        }
    }
    
  5. 这时我们就做好了一个最简单的gradle plugin插件,此时你的目录应该是:
    在这里插入图片描述

打包到本地maven

1.在build.gradle文件中添加如下代码

uploadArchives {
    repositories.mavenDeployer {
        repository(url: uri('')) //仓库的路径 自行定义
        pom.groupId = 'com.gitzzp.eplugin'  //自行定义,一般是包名
        pom.artifactId = 'eplugin' //自行定义
        pom.version = '1.0.0' //版本号 自行定义
    }
}

这里定义的内容决定了我们在项目中的buid.gradle文件中的引用名称,例如

buildscript {
    repositories {
        google()
        jcenter()
        maven{
            url ''  //这里是上边填写的仓库路径
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.1"
        
        //这些是上边定义的groupId及artifactId和版本号
        classpath 'com.gitzzp.eplugin:eplugin:1.0.0'
    }
}

添加好代码之后gradle一下,然后点击AndroidStudio右侧的gradle工具,可以看到我们添加的task:
在这里插入图片描述
双击执行task后,我们编写的插件就打包到本地仓库了,我们就可以在项目中使用我们的插件。

使用

在项目的build.gradle文件中设置
在这里插入图片描述
在需要引用的module的build.gradle文件中引用
在这里插入图片描述
然后执行gradle命令,我们就会在命令行中看到我们编写插件的输出

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值