I have an application with many flavors (A,B,C) and two build types (debug,release)
In the build type debug I add a suffix to the application ID like so:
debug { applicationIdSuffix '.debug' } This is fine for flavors A and B but I can't append .debug to flavor C's application ID.
I have looked at overriding on the variant like I have for the versionCode but no luck.
applicationVariants.all { variant -> def changedVersionCode = variant.versionCode variant. variant.outputs.each { output -> if (variant.buildType.name != "debug") { output.setVersionCodeOverride(project.ext.versionCode) changedVersionCode = project.ext.versionCode } } changeApkFileName(variant,changedVersionCode) } Is it possible to override a variants application ID depending on the flavor. For example my plan was to do something like this:
variant.buildType.name.replace('.debug','')
1 Answers
Answers 1
Is it possible to override a variants application ID depending on the flavor
Yes it is possible.
The reason you are not able to see the expected id is:
Because Gradle applies the build type configuration after the product flavor, the application ID for the "C" build variant will be "
<your-applicaion-id>.debug".
So if you want it to be different for different flavors then you have to segregate the applicationIdSuffix for different flaovors and remove it from debug {} as follows:
android { defaultConfig { applicationId "<your-application-id>" } productFlavors { A { applicationIdSuffix ".debug" } B { applicationIdSuffix ".debug" } C { applicationIdSuffix "" } } } For more details, refer to official documentation.
0 comments:
Post a Comment