博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android与Gradle(二):插件打包上传到Maven服务器
阅读量:6162 次
发布时间:2019-06-21

本文共 2334 字,大约阅读时间需要 7 分钟。

前文说到了简单Gradle插件的创建方法,如果你还没有看过,建议你先行阅读一下:

本文将说明单独的插件“项目”的创建方法,以及如何将插件打包上传到Maven服务器,本文的内容相对就少得多了。


独立插件项目的创建

创建Module

与前文所提到的建立buildSrc目录的步骤几乎完全一样,你可以新建任意名字的文件夹作为插件项目(这里可以看作当前Android项目的Module)的目录,这里我就命名为cog-gradle-plugin吧:

与前文的差异就是,这里在main目录下多了一个java目录,而且跟groovy目录一样,同样建了一个包com.peceoqicka.cog。因为在这里gradle插件是使用groovy混合java开发的,至于groovy中怎么调用java,一句话说就是在java中怎么调用java,groovy就可以怎么调用,很方便不是吗。

记住一个关键的步骤,一定要在settings.gradle文件里添加这个Module的引用,否则无法识别。

include ':app', ':cog-gradle-plugin'复制代码

上传到Maven

按照上述步骤建立好项目并调试好插件代码之后,就可以上传了。在build.gradle文件中添加插件:

apply plugin: 'maven'复制代码

并且定义好项目的唯一ID(group)版本号(version)

group = 'com.peceoqicka.cog'version = '1.0.2'复制代码

添加上传的task:

uploadArchives {    repositories {        mavenDeployer {            repository(url: uri('http://localhost:8081/repository/maven-releases/')) {                authentication(userName: 'admin', password: 'admin123')            }        }    }}复制代码

最终build.gradle文件的内容应该跟如下的大致相同:

apply plugin: 'groovy'apply plugin: 'maven'group = 'com.peceoqicka.cog'version = '1.0.2'dependencies {	//...插件中用到的其他库    	    compile gradleApi()    compile localGroovy()}repositories {    mavenCentral()}uploadArchives {	repositories {		mavenDeployer {			repository(url: uri('http://localhost:8081/repository/maven-releases/')) {				authentication(userName: 'admin', password: 'admin123')			}		}	}}复制代码

注意下方的mavenDeployer中的代码,repository中定义了maven服务器的地址,这里使用的是本地的Maven服务器地址,并添加了认证参数(帐号和密码)

那么,上传到Maven服务器的准备工作就已经完成了。接下来打开Android Studio右边的Gradle面板,可以看到一个叫做upload的任务:

双击运行这个任务,这时候gradle就会自动执行打包上传,等待上传完成即可。 上传到Maven服务器的库如何在实际项目中引用,很简单。对于任意一个本地新建的Android项目,在项目的build.gradle中修改代码:

buildscript {    repositories {        jcenter()        mavenCentral()	    //添加对本地Maven服务器地址的引用        maven{            url uri('http://localhost:8081/repository/maven-releases/')        }    }    dependencies {        classpath 'com.android.tools.build:gradle:2.3.1'        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'	    //添加插件引用        classpath 'com.peceoqicka.cog:cog-gradle-plugin:1.0.2'    }}复制代码

添加的代码都有注释,很简单,首先添加本地Maven服务器的地址,然后再添加插件项目的引用,引用的名称规则是“group名:项目名:版本号”。然后还有一个关键步骤,启用插件,在app的build.gradle中添加:

apply plugin: 'com.peceoqicka.cog'复制代码

那么本文要说的内容就这么多了,至于本地的Maven服务器如何搭建,请自行查阅资料“用NEXUS搭建Maven私服”,很简单,我就不细说了。


本篇文章仅代表个人观点,难免会有疏漏或者谬误之处,欢迎批评指正。

系列

转载于:https://juejin.im/post/5a3324d66fb9a0450e7627a4

你可能感兴趣的文章
01.mac下安装配置maven
查看>>
git “errno=Connection refused”
查看>>
学习PHP的第一天
查看>>
Callable与Future的介绍
查看>>
SylixOS下移植glib时clock_gettime函数分析
查看>>
Linux Crontab定时任务
查看>>
动态修改tabs选项卡和datagrid的某些属性值
查看>>
如何区分广播风暴和网络环路?
查看>>
Linux下自动化监控内存、存储空间!
查看>>
怎么把AI文件导入到PS里面
查看>>
五十、Nginx负载均衡、SSL原理、生成SSL密钥对、Nginx配置SSL
查看>>
学习六十一
查看>>
delphi ini文件的基础读写。
查看>>
CentOS7中搭建cobbler自动装机服务
查看>>
多线程设计模式:第二篇 - 四种基础模式
查看>>
域名跳转
查看>>
企业网站建设注意事项
查看>>
WPS Office 2019 发布Linux 个人版
查看>>
未来PCB行业互联网+发展趋势
查看>>
PDF如何旋转页面
查看>>