AndroidStudio 2024.2.2发布apk时候备份mapping文件kts版本

背景

在打包release的apk之后需要保留一份mapping文件。如果在混淆后的app发生崩溃,堆栈都是混淆情况下分析问题就很艰难。备份mapping是有必要的。

环境

AndroidStudio 2024.2.2
kts版本
插件版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip

plugins {
    id 'com.android.application' version '8.8.2' apply false
    id 'com.android.library' version '8.8.2' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.0' apply false
}

备份mapping的代码

在主模块的build.gradel.kts中

android {
	...
	applicationVariants.all {
		if (buildType.name == "release") {
		    // 拦截 assembleRelease 任务完成之后执行
		    assembleProvider.get().doLast {
		        val mappingFile = mappingFile
		        val versionName = versionName ?: "unknown"
		        val outputDir = File(rootProject.projectDir, "mapping-backup/${name}-$versionName")
		        outputDir.mkdirs()
		        mappingFile?.let {
		            val targetFile = File(outputDir, "mapping.txt")
		            it.copyTo(targetFile, overwrite = true)
		            println("✅ Copied mapping.txt to: ${targetFile.absolutePath}")
		        } ?: run {
		            println("⚠️ No mapping file found for variant: $name")
		        }
		    }
		}
	}
	...
}

这个时候,构建assembleRelease任务。
在这里插入图片描述
文件位置项目根目录下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

debug_cat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值