Android合成多个aar的脚本,在jenkins上写发布aar脚本,自动发布多个指定的aar到多个对应的仓库...

该博客围绕Android项目,目标是在Jenkins构建后自动将多个module生成的aar包发布到指定仓库。给出了实现此功能的脚本,详细解释了4条命令的含义及发布aar的代码,还提及若发布多个aar的操作方法,以及gradle的 -p 参数作用。

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

实现目标:在jenkins上构建以后能够自动发布aar到指定仓库

背景:项目是android项目,且存在多个module,我们都知道module在编译后会生产aar包,我们就是要在构建完成后能够自动把所有module下的aar包都发布到指定仓库中。

话不多说,直接上脚本

type nul>uploadaar.gradle

"C:\Program Files\Git\usr\bin\echo"

'//uploadaar'>uploadaar.gradle

"C:\Program Files\Git\usr\bin\sed" -i '$a apply plugin:

'"'"'maven'"'"' \n uploadArchives {\nrepositories {\nmavenDeployer

{\nrepository(url: uri(url2)) {\npom.project {\ngroupId

'"'"'tuxiaolong'"'"'\nartifactId

'"'"'thirdparty-release'"'"'\nversion '"'"'2.0.2'"'"'\npackaging

'"'"'aar'"'"'}}}}}\nartifacts{\narchives (file(url3)){}\n}'

uploadaar.gradle

gradle -b uploadaar.gradle -P url2=./repository -P

url3=./thirdparty/build/outputs/aar/thirdparty-release.aar

uploadArchives

总共4条命令,显示方便,每条命令之间用换行隔开了,现在解释一下每一条命令的含义

第一条:创建一个uploadaar.gradle文件,我们发布aar的代码都会写入到这个文件当中

第二条:在文件里写入“//uploadaar”,echo是命令,'//uploadaar'>uploadaar.gradle的意思是

把//uploadaar写入到uploadaar.gradle文件当中

第三条:把发布aar的代码写入到uploadaar.gradle中,命令是sed -i '$a xxx'

uploadaar.gradle。xxx就是要插 入的发布代码

第四条:执行uploadArchive发布的task,其中有几个参数需要解释,这些参数可以在gradle

-help看到解释,本人也是看了help才找到这些命令,网上很少有说,所以还是鼓励大家遇到命令不会可以先help下。

-b.参数指定需要解析执行的.gradle文件,默认是build.gradle,但是我们的项目里已经有build.gradle文

件,如果在该build.gradle中插入不会有什么错误,但是构建的时候会把整个项目构建一遍,时间太长,而且构建的事情jenkins已经做了我们要做的只是发布构建完成后打出来的aar包没必要再构建一次。所以这里就新建了一个uploadaar.gradle,专门用于发布aar

-P.参数增加一个属性,我们这里增加了两个url2和url3,分表是发布的目录仓库和需要发布的aar包,这个

在发布的代码中会用到,下面会解释。

uploadArchive.我们在uploadaar.gradle里面写的发布aar的task,我们这里需要执行该task

解释完了4条命令,下面再解释一下发布aar的代码,我们把第三条命令的代码整理一下就是这样:

apply plugin: 'maven'

uploadArchives {

repositories {

mavenDeployer {

repository(url: uri(url2)) {

pom.project {

groupId 'haotiantidu'

artifactId 'modulename-release'

version '2.0.2'

packaging 'aar'

}

}

}

}

}

artifacts{

archives (file(url3)){}

}

上面就是所有的发布aar的代码,如何发布aar网上有很多,发布到远程或者设定用户名密码,这里不讲这些。我们可以在这里看到url2和url3,这两个参数就是我们第四条命令里面设定的两个参数。

至此如果我们需要发布多个aar,只需要在脚本里加多个gradle -b uploadaar.gradle -P

url2=xxx -P url3=yyy

uploadArchives命令,yyy换成各个module的build/outputs/aar/xxxx.aar,xxx换成module对应的远程仓库或本地仓库。

另外介绍一个gradle的-p

参数,这个参数表示执行gradle命令的项目目录,比如我们设置成项目a的目录,则gradle会在项目a的根目录里找build.gradle并执行解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值