Jas*_*ker 5 android gradle android-build android-studio android-productflavors
我有两种产品口味和三种构建类型.
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"'
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以根据产品风格改变content_provider_authority的resValue,但是对于变体?我希望所有产品版本的构建都使用应用程序ID +".contentprovider"但是对于我们的产品风味旧,如果调试或发布如上所示使用硬编码字符串,但增强它以便为qa构建使用不同的硬编码字符串类型.
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]}\""
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2358 次 |
| 最近记录: |