AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录

背景

编译完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版本之后文件被复制到这里。

相关推荐
一直都在5726 分钟前
MySQL索引优化
android·数据库·mysql
代码s贝多芬的音符1 小时前
android mlkit 实现仰卧起坐和俯卧撑识别
android
jwn9992 小时前
Laravel9.x核心特性全解析
android
今天又在写代码3 小时前
数据智能分析平台部署服务器
android·服务器·adb
梦里花开知多少4 小时前
深入谈谈Launcher的启动流程
android·架构
jwn9994 小时前
Laravel11.x新特性全解析
android·开发语言·php·laravel
我就是马云飞4 小时前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
stevenzqzq5 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
唔665 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔665 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin