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

相关推荐
黄昏晓x2 分钟前
C++11
android·java·c++
simplepeng41 分钟前
TikTok 通过 Jetpack Compose 将代码大小减少 58%,并提升了新功能的 app 性能
android·android jetpack
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Android的充电宝租赁管理软件的设计与实现为例,包含答辩的问题和答案
android
Be for thing1 小时前
Android 蓝牙 & WiFi 硬件原理 + 功耗与异常定位实战(手机 / 手表 / IoT 通用)
android·物联网·学习
00后程序员张2 小时前
使用克魔助手(Keymob)查看 iOS 设备日志与崩溃报告
android·macos·ios·小程序·uni-app·cocoa·iphone
__Yvan2 小时前
解决ConstraintLayout中LinearLayout显示异常问题
android·xml·约束布局
mjhcsp2 小时前
C++ A* 算法:启发式路径搜索的黄金标准
android·c++·算法
2501_915918412 小时前
通过IPA 结构调整和资源指纹变化来处理 iOS 应用相似度问题
android·ios·小程序·https·uni-app·iphone·webview
火山上的企鹅3 小时前
Qt/QGroundControl 实战:接入 Skydroid(云卓) G20 遥控器 Android SDK 并实时显示摇杆与信号质量
android·开发语言·qt·qgroundcontrol·云卓sdk
Be for thing3 小时前
Android 屏幕硬件原理 + 显示驱动与功耗优化实战(手机 / 手表通用)
android·学习·智能手机