获取 Build Variant flavorName
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取 Build Variant flavorName相关的知识,希望对你有一定的参考价值。
def getCurrentFlavor()
Gradle gradle = getGradle()
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()
Pattern pattern
if (tskReqStr.contains("assemble"))
pattern = Pattern.compile("assemble(\\\\w+)(Release|Debug)")
else
pattern = Pattern.compile("generate(\\\\w+)(Release|Debug)")
Matcher matcher = pattern.matcher(tskReqStr)
if (matcher.find())
return matcher.group(1).toLowerCase()
else
println "NO MATCH FOUND"
return ""
然后。我又给优化了一个版本。
def getCurrentFlavor()
Gradle gradle = getGradle()
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()
Pattern pattern = Pattern.compile("(assemble|generate|bundle)(.*?)(Release|Debug)")
Matcher matcher = pattern.matcher(tskReqStr)
String channel = ""
if (matcher.find())
channel = matcher.group(2).toLowerCase()
return channel
支持 bundle 并使用更加优雅的正则、这才是技高一筹的技术员应该干的事情。
以上是关于获取 Build Variant flavorName的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 技巧之一: Build Variant 相关
Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Lja