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插件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- AndroidStudio 使用过程中出现的异常(Gradle sync failed)处理办法
- Android studio gradle环境变量配置教程
- android studio 一直卡在Gradle:Build Running的几种解决办法
- 详解关于Android Studio中安装和gradle的一些坑
- 史上最全的Android build.gradle配置教程
- Android报错Error:Could not find com.android.tools.build:gradle:4.1解决办法
- Android Studio3.6设置Gradle Offline Mode的方法
- 详解AndroidStudio JNI +Gradle3.0以上JNI爬坑之旅
- Android Gradle依赖管理、去除重复依赖、忽略的方式
- Android使用Gradle依赖配置compile、implementation与api的区别介绍
