根据 buildType 更改 apk 的名称
Change name of apk depending on buildType
我想更改输出 .apk 文件的名称。但是,我想根据构建类型附加“-debug”或“-release”。
这是我想要的输出名称:
MyApp-0.0.1-debug.apk
MyApp-0.0.1-release.apk
我不熟悉 Gradle 并且还没有找到如何执行此操作,我知道我只需要在以下代码中访问 buildType 但找不到如何执行此操作。
目前我的输出是 "MyApp-0.0.1.apk",无论 buildType 是什么。我怎样才能更改下面的代码来改变它?
android.libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.aar')) {
def fileName
def bType = ""
// bType = "-" + something.buildType
fileName = "${archivesBaseName}-${project.version}${bType}.aar"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
构建类型是变体的一部分;您正在遍历循环中的所有变体。您可以通过以下方式获取构建类型名称:
variant.buildType.name
您可以在 http://tools.android.com/tech-docs/new-build-system/user-guide
找到(部分完整的)API 文档
对于迟到的人,这个版本在 2020 年 4 月。
对我有用
只需将此代码放入您的 buildTypes
元素(android
或 defaultConfig
也可以)。
applicationVariants.all { variant ->
def customBuildName = ""
if(variant.buildType.name == "release") customBuildName = "release-name.apk"
else customBuildName = "build-name.apk"
variant.outputs.all {
outputFileName = customBuildName
println("name of ${variant.buildType.name} build is ${outputFileName}")
}
}
我想更改输出 .apk 文件的名称。但是,我想根据构建类型附加“-debug”或“-release”。
这是我想要的输出名称: MyApp-0.0.1-debug.apk MyApp-0.0.1-release.apk
我不熟悉 Gradle 并且还没有找到如何执行此操作,我知道我只需要在以下代码中访问 buildType 但找不到如何执行此操作。
目前我的输出是 "MyApp-0.0.1.apk",无论 buildType 是什么。我怎样才能更改下面的代码来改变它?
android.libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.aar')) {
def fileName
def bType = ""
// bType = "-" + something.buildType
fileName = "${archivesBaseName}-${project.version}${bType}.aar"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
构建类型是变体的一部分;您正在遍历循环中的所有变体。您可以通过以下方式获取构建类型名称:
variant.buildType.name
您可以在 http://tools.android.com/tech-docs/new-build-system/user-guide
找到(部分完整的)API 文档对于迟到的人,这个版本在 2020 年 4 月。
对我有用只需将此代码放入您的 buildTypes
元素(android
或 defaultConfig
也可以)。
applicationVariants.all { variant ->
def customBuildName = ""
if(variant.buildType.name == "release") customBuildName = "release-name.apk"
else customBuildName = "build-name.apk"
variant.outputs.all {
outputFileName = customBuildName
println("name of ${variant.buildType.name} build is ${outputFileName}")
}
}