gpt4 book ai didi

android - 有没有办法在 gradle 中有一个与 buildConfigField 和 resValue 共用的部分?

转载 作者:IT老高 更新时间:2023-10-28 22:05:47 27 4
gpt4 key购买 nike

我的产品具有多种产品 flavor ,例如:

buildTypes {
debug {
}

release {
}

}

productFlavors {
flavor1 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor1"
}
flavor2 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor2"
}
flavor3 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor3"
}
flavor4 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "sv-SE"
buildConfigField "String" "appName" "Flavor4"
}
flavor5 {
buildConfigField "String" "country" "se"
buildConfigField "String" "language" "no-NO"
buildConfigField "String" "appName" "Flavor5"
}
}

我更喜欢一个包含所有属性的公共(public)部分,并且只覆盖那些不同的部分。这可能吗?

我还想将所有风格(可能还有 buildTypes)放在它自己的文件中,以使其更具可读性。因此,每当您必须更改 flavor 时,您都可以轻松地在其自己的文件中找到它,而不必滚动数千行,如果我在主构建文件中拥有所有 flavor 和 buildTypes 以及所有其余部分,那将是这样。

最佳答案

Selvin 是正确的,使用 defaultConfig 闭包 - 没有更好的方法! 在以下示例中, flavor 1、2 和 5 将设置默认国家和语言de。风格 3 和 4 用他们自己的语言覆盖它。

defaultConfig {
buildConfigField "String", "country", "de"
buildConfigField "String", "language", "de"
}

buildTypes {
debug {
}

release {
}
}

productFlavors {
flavor1 {
buildConfigField "String", "appName", "Flavor1"
}
flavor2 {
buildConfigField "String", "appName", "Flavor2"
}
flavor3 {
buildConfigField "String", "country", "uk"
buildConfigField "String", "language", "en_GB"
buildConfigField "String", "appName", "Flavor3"
}
flavor4 {
buildConfigField "String", "country", "fr"
buildConfigField "String", "language", "fr"
buildConfigField "String", "appName", "Flavor4"
}
flavor5 {
buildConfigField "String", "appName", name.capitalize()
}
}

注意

仅供引用,您可以使用 name.capitalize() 来转换任何 flavor 的名称,例如使用 capitalize() 方法将 flavor5 插入到 Flavor5 的应用名称中 - 这会将字符串中的第一个字符大写。但是,这 必须 符合风格,而不是 defaultConfig

关于android - 有没有办法在 gradle 中有一个与 buildConfigField 和 resValue 共用的部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25994149/

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