gpt4 book ai didi

android - 如何使用 gradle 和 proguard printmapping 创建带有版本代码的 out.map 文件

转载 作者:行者123 更新时间:2023-11-30 02:30:52 27 4
gpt4 key购买 nike

我正在使用此文件构建 release.apk 文件。

android {
compileSdkVersion 21
buildToolsVersion '20.0.0'
signingConfigs {
...
}
buildTypes {
debug {
debuggable true
jniDebugBuild true
}
release {
runProguard true
proguardFile('proguard-project.txt')
debuggable false
signingConfig signingConfigs.release
}
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
productFlavors {
}
lintOptions {
disable 'ValidFragment'
}

在 proguard-project.txt 我有这个:

-printmapping build\outputs\apk\out.map

一切正常,我只想让 out.map 文件名包含版本代码,例如 out.29.map,其中 29 是版本代码。

谢谢

最佳答案

原来是这样

先定义一个获取版本名的函数

def getVersionName() {
File stringsXmlFile = new File("src\\main\\res\\values\\strings.xml")
String contents = stringsXmlFile.getText()
String version = contents.find("<string name=\"version\">[^<]*</string>");
version = version.replace("<string name=\"version\">", "").replace("string>", "")
version = version.replace("<", "")
version = version.substring(0, version.length() - 1)

return version
}

二、定义任务函数

gradle.taskGraph.afterTask { Task task, TaskState state ->
if (task.name.equals("assembleRelease")) {

File proguard = new File("build\\outputs\\apk\\out.map")
proguard.renameTo("build\\outputs\\apk\\out-" + getVersionName() + ".map")

}
}

就是这样。

关于android - 如何使用 gradle 和 proguard printmapping 创建带有版本代码的 out.map 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com