Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > android自定义gradle插件

android自定义gradle插件并且发布到本地仓库详细教程

作者:妖久

这篇文章主要介绍了android自定义gradle插件并且发布到本地仓库详细教程的相关资料,需要的朋友可以参考下

一、在工程上新建一个Module。

二、删除其余不必要的文件,最终目录结构如下:

注意:由于我用的是kotlin语言,所以用的是java目录,java语言也是用java目录,如果用的是groovy语言,那么就用groovy目录。

src/main/resources/META-INF/gradle-plugins目录下定义插件声明,*.properties文件的文件名就是插件名称比如

而文件的内容implementation-class后面跟着的是插件类的全类名。

三、module的gradle引入相关的依赖以及插件

apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'kotlin'

repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
    google()
    jcenter()
    mavenLocal()
}

dependencies {
    implementation gradleApi()
    implementation localGroovy()
    implementation "commons-io:commons-io:2.6"
    implementation 'com.android.tools.build:gradle:4.0.1'
    implementation 'com.android.tools.build:gradle-api:4.0.1'
    implementation 'org.ow2.asm:asm:7.1'
    implementation 'org.ow2.asm:asm-util:7.1'
    implementation 'org.ow2.asm:asm-commons:7.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.32"
}

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.plugin'
            pom.artifactId = 'double-click'
            pom.version = '1.0.26'
            //发布到本地仓库
            repository(url: uri('../repo'))
        }
    }
}

由于我需要用到asm与transform相关的api,所以引入了相关的依赖。

四、编写插件代码,此处不展开说了。

五、发布到本地仓库:

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.xxx.plugin'
            pom.artifactId = 'double-click'
            pom.version = '1.0.26'
            //发布到本地仓库
            repository(url: uri('../repo'))
        }
    }
}

pom.groupId:groundId自己定义,一般为包名 pom.artifactId:artifactId自己定义 pom.version:版本号 repository(url: uri('../repo')):仓库地址,为本地项目的repo文件夹,注意../不要写错,这是代表gradle所在目录的上一层目录。

六、引用

1、项目的app.gradle里引入插件:

apply plugin: 'com.xxxx.double-click'

该名称为第二部里面所讲的插件名称。

2、project.gradle中引入地址:

buildscript {
    ext.kotlin_version = "1.4.32"
    repositories {
        google()
        jcenter()
        maven {
            //配置本地插件目录
            url uri('./repo')
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
        classpath "com.xxxxx.plugin:double-click:1.0.26"
    }
}

这里主要有两部分:(1)配置本地插件所在的目录,注意要与发布到本地仓库时候写的地址对应上。

maven {
     //配置本地插件目录
     url uri('./repo')
}

(2)声明,写法就是发送到本地仓库时候所写的groupId:artifactId:version

classpath "com.xxxxx.plugin:double-click:1.0.26"

到此这篇关于android自定义gradle插件并且发布到本地仓库详细教程的文章就介绍到这了,更多相关android自定义gradle插件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文