Crashlytics: ext.alwaysUpdateBuildId = false is wrongly applied even in other productsFlavors
This is my definition productFlavors
in build.gradle file:
flavorDimensions "fasterbuild", "flavor"
productFlavors {
slow {
dimension "fasterbuild"
// "Slow" uses the defaultConfig minSdkVersion, currently 16
}
fast {
dimension "fasterbuild"
//Use minSdk 21, mainly to avoid legacy multidex
minSdkVersion 21
//Crashlytics will generate a new build id for every build.
//This can (and should) be disabled for debug builds with a single line:
ext.alwaysUpdateBuildId = false
}
dev {
dimension "flavor"
...
}
market {
dimension "flavor"
...
}
}
This creates the following buildVariants:
(I am filtering out fastMarket * combinations).
Problem
Based on the above definition, I expect the Crashlytics option to alwaysUpdateBuildId
be disabled only in variants fast*
.
However, when assembleSlowDevDebug
I run it I still see the following:
Detected alwaysUpdateBuildId set to false while obfuscation is enabled. This may result in obfuscated stack traces in Crashlytics.
Here's more gradle output:
Executing tasks: [:app:assembleSlowDevDebug]
Configuration on demand is an incubating feature.
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /Users/aphex/Library/Android/sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /Users/aphex/Library/Android/sdk/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
Detected alwaysUpdateBuildId set to false while obfuscation is enabled. This may result in obfuscated stack traces in Crashlytics.
Build cache is an incubating feature.
Using directory (/Users/aphex/.gradle/caches/build-cache-1) as local build cache, push is enabled.
:app:preBuild UP-TO-DATE
:app:preSlowDevDebugBuild UP-TO-DATE
...
I also confirmed this erroneous behavior by completely removing the line ext.alwaysUpdateBuildId = false
from the variant fast
and restarting assembleSlowDevDebug
. The line violation disappears. Detected alwaysUpdateBuildId set to false
Question
It doesn't make any sense based on my understanding of build options and product tastes. Is this a gradle bug, a Crashlytics / Fabric issue, or both? I am using gradle 3.5 and Android tools gradle plugin 2.3.3.
source to share
No one has answered this question yet
Check out similar questions: