背景
编译完release版本后复制apk到特定目录,apk文件名字符合自己的需求,例如增加版本号,版本名字。
翻了一遍网上基本上都是Groovy编写,但是项目刚好切换到kts了,之前Groovy代码用不了。下面是kts版本。
kts适配
全部代码如下,只需要在你的主模块的android
中增加代码即可。
kts
android {
/其他代码
applicationVariants.all {
val variant = this
if (!assembleProvider.name.contains("Release")) {
return@all
}
outputs.forEach {
val output = it as BaseVariantOutputImpl
output.outputFileName = "sob_" + buildType.name + "_v" + versionName + "_" +
versionCode + ".apk"
}
// 打包完成后复制apk到指定文件夹,根目录apkFile
var outputFileDir = File("${rootDir.absolutePath}/apkFile/")
if (!outputFileDir.exists()) {
outputFileDir.mkdir()
}
assembleProvider.configure {
doLast {
copy {
variant.outputs.forEach { outFile ->
// 只复制文件
outFile.outputFile.isFile.ifTrue {
copy {
from(outFile.outputFile)
into(outputFileDir)
}
}
}
}
}
}
}
编译release版本之后文件被复制到这里。