大数跨境
0
0

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

AndroidStudio 2024.2.2发布apk时候备份mapping文件kts版本 黄大官AOSP
2025-05-22
0
导读:背景在打包release的apk之后需要保留一份mapping文件。如果在混淆后的app发生崩溃,堆栈都是混淆情况下分析问题就很艰难。

背景

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

环境

AndroidStudio 2024.2.2kts版本插件版本:

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任务。
文件位置项目根目录下:

【声明】内容源于网络
0
0
黄大官AOSP
学习和分享Android,iOS,财务笔记,AOSP源码定制
内容 59
粉丝 0
黄大官AOSP 学习和分享Android,iOS,财务笔记,AOSP源码定制
总阅读53
粉丝0
内容59