Android 自定义插件


前言

Android自定义插件,主要分为三种,第一种是自定义脚本插件,第二种是自定义buildSrc插件,第三种是自定义独立插件,接下来对这三种插件逐一介绍,如何使用。


一、自定义脚本插件

自定义脚本插件,简单来说就是在build.gradle文件中,写一份脚本文件代码。

apply plugin: PluginDemo // 引入插件
// 定义插件
class PluginDemo implements Plugin<Project> {

    @Override
    void apply(Project project) {
        println '第一种方式实现插件'
    }
}

build一下,会打印以下日志:

Starting Gradle Daemon...
Gradle Daemon started in 587 ms
...

> Configure project :app
第一种方式实现插件

二、自定义buildSrc插件

1.新建buildSrc Module文件

在项目中新建一个buildSrc(名字要一致) Module文件,并且将settings.gradle文件下include buildSrc删除。
buildSrc目录

2.创建脚本代码和配置文件

脚本代码:
buildSrc脚本
配置文件(配置文件要和上面的脚本代码报名、类名一致):
buildSrc配置文件
另外要注意的是配置文件一定要按META-INF/gradle-plugins创建,要不能会报错。
build.gradle文件:
build.gradle

3.app/build.gradle使用插件

buildSrc使用插件
build一下,打印如下日志:
buildSrc运行结果

三、自定义独立插件

自定义插件和buildSrc很类似,只不过多了个发布插件到本地。

1.创建Module

自定义插件-创建module

2.发布代码

plugins {
    id 'groovy'
    id 'java'
//    id 'org.jetbrains.kotlin.jvm'
//    id 'maven-publish'
}


repositories {
    google()
    mavenCentral()
}

apply plugin: 'maven-publish'

publishing {
    publications {
        maven(MavenPublication) {
            groupId "com.example.myplugin"
            artifactId 'MyPlugin'
            version "1.0.0"
            //如果是war包填写components.web,如果是jar包填写components.java
            from components.java
        }
    }

    repositories {
        maven {
            url = "../plugins"
        }
    }
}
dependencies {
    implementation gradleApi()
}

正常情况下,build代码后会出现plugin的publish task
自定义插件-publish
点击publish运行任务,会生成以下文件:
自定义插件-生成的文件

3.容易报错的地方

如果你的gradle环境是7.0以上,会报错,需要将setting.gradle

repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

修改为

repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)

4.使用插件

自定义插件-应用
build 运行,打印如下日志:
自定义插件-打印日志


总结

简单总结一下,如果较为简单的插件,可以直接在build.gradle文件下面直接编写一个脚本代码应用,如果单一独立的插件,可以自定义buildSrc下创建插件,如果多个插件,建议自定义插件的方式创建。

Thanks:
三种自定义插件方式

创作不易,觉得不错的话,请点赞、评论鼓励,谢谢。

代码地址

demo地址

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值