gpt4 book ai didi

android - buildConfigField 取决于 flavor + buildType

转载 作者:可可西里 更新时间:2023-11-01 18:46:16 26 4
gpt4 key购买 nike

我正在尝试根据flavor + buildType 定义一个buildConfigVariable。理想情况下,这就是我想要的

productFlavors {
strawberry {
buildConfigField "String", "WS_API_KEY", name + variant.buildType.name
}
... more flavors ..
}

name 确实包含“strawberry”,但我不知道是否可以访问variantbuildType

放置在 Android 闭包之外,我确实可以访问 BuildTypevariant,但是我无法调用 buildConfigField

android.applicationVariants.all { variant ->
println "****************************"
println "variant: ${variant.name}"
println "flavor: ${variant.flavorName}"
println "****************************"

if (variant.buildType.name == 'release') {
if (variant.flavorName == 'strawberry') {
buildConfigField "String", "WS_API_KEY", '"strawberry_release"'
} else {
buildConfigField "String", "WS_API_KEY", '"chocolate_release"'
}
} else if(variant.buildType.name == 'debug') {
if (variant.flavorName == 'strawberry') {
buildConfigField "String", "WS_API_KEY", '"strawberry_debug"'
} else {
buildConfigField "String", "WS_API_KEY", '"chocolate_debug"'
}
}


****************************
variant: strawberryRelease
flavor: strawberry
****************************
org.gradle.api.internal.MissingMethodException:
Could not find method buildConfigField()
for arguments [String, WS_API_KEY, "strawberry_release"]

我可以轻松地创建一个 Java 工厂并根据一些 BuildConfig 常量返回适当的 API_KEY,但我宁愿让代码配置不可知。

最佳答案

Edit2:0.14.2 之后的版本将允许这样做:

applicationVariants.all { variant ->
variant.buildConfigField "int", "VALUE", "1"
}

所以你可以这样做(以匹配原始问题):

applicationVariants.all { variant ->
variant.buildConfigField "String", "WS_API_KEY", variant.productFlavors.get(0).name + '_' + variant.buildType.name
}

编辑:目前不可能。为此缺少 API。漏洞: https://code.google.com/p/android/issues/detail?id=67416

<罢工>

试试这个:

applicationVariants.all { variant ->
variant.mergedFlavor.buildConfigField "String", "NAME", '"VALUE"'
}

<罢工>

关于android - buildConfigField 取决于 flavor + buildType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22506290/

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