1、我们一般会用Jenkins这样的平台进行打包,使用gradle时就需要先执行android studio的 assembleRelease的task
此时我们可以通过gradle的任务依赖来实现
testTask (dependsOn: "assembleRelease") {
//do some actions
}
此时我们的testTask如果是在APP module下的build.gradle中那么这个assembleRelease则是执行
如果我们项目中有多个module,我们的脚本需要使用其他module的aar,我们就需要执行其他module下的assembleRelease任务task
此时我们可以这么做:
testTask (dependsOn: "assembleRelease") {
dependsOn: ":myModule:assembleRelease"
}
此时testTask同时依赖这两个任务,我们在执行testTask时依赖的任务会执行结束,可以获取到aar
2、我们使用compile/implementation/api等依赖如何获取aar或者jar
代码如下:
copyLibs(type: Copy) {
from configurations.compile
into "myLibs"
}
执行该task会将compile的依赖copy到myLibs文件夹下
现在我们使用implementation/api来依赖,此时 from configurations.compile会报错:
这是我们可以自己声明一个configuration,如下:
注:这样复制依赖的时候,如果jar/aar重名会出现覆盖掉的问题,我们需要对其进行处理