gpt4 book ai didi

android - 在变体中改变 resValue

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:17 27 4
gpt4 key购买 nike

我有两种产品风格和三种构建类型。

buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
qa {
applicationIdSuffix ".qa"
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}

productFlavors {
old {
applicationId "com.companyname.old"
buildConfigField "String", "contentProvider", '"com.companyname.android.mobile.contentprovider"'
resValue "string", "content_provider_authority", '"com.companyname.android.mobile.contentprovider"'

}
new {
applicationId "com.companyname.new"
buildConfigField "String", "contentProvider", '"' + applicationId + '.contentprovider"'
resValue "string", "content_provider_authority", '"' + applicationId + '.contentprovider"'
}
}

有没有一种方法可以改变 content_provider_authority 的 resValue,而不是基于产品 flavor ,而是基于变体?我希望新产品 flavor 的所有构建都使用应用程序 ID +“.contentprovider”,但对于我们的旧产品 flavor ,如果调试或发布如上所示使用硬编码字符串,但增强它以具有不同的硬编码字符串用于 qa 构建类型。

最佳答案

由于 Selvin 的评论,这段代码对我有用

productFlavors {
red {
ext {
googleMapsKey = [debug: "AIza4115643435", release: "AIzaXXXXXXXXXX"]
}
}

blue {
ext {
googleMapsKey = [debug: "AIza6363474341", release: "AIzaXXXXXXXXXX"]
}
}

applicationVariants.all { variant ->
def flavor = variant.productFlavors[0]
variant.resValue "string", "google_maps_key", "\"${flavor.ext.googleMapsKey[variant.buildType.name]}\""
}
}

关于android - 在变体中改变 resValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27954215/

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