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

相关推荐
EQ-雪梨蛋花汤7 分钟前
【Sceneform-EQR】让Android 原生 3D开发更容易
android·3d
三少爷的鞋28 分钟前
Android 架构指南之Data 层不要再暴露 start/stop 了:用 Flow 接管生命周期
android
李艺为30 分钟前
Android 14 U盘无法正常显示中文盘符(卷标)问题解决
android
陆业聪35 分钟前
Agent智能体:让AI自己调API干活——从Android Service到AI Agent的思维跃迁
android·人工智能·aigc
莞凰10 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
NiceCloud喜云11 小时前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
ujainu11 小时前
CANN pto-isa:虚拟指令集如何连接编译与执行
android·ascend
赏金术士12 小时前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger13 小时前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei202116 小时前
【Python入门】Python中字符串相关拓展
android·java·python