After applying the crashlytics plugin 'com.google.firebase.crashlytics' to my project, my build fails with an exception:
// build.gradle.kts
buildscript {
repositories {
google()
}
dependencies {
classpath("com.google.firebase:firebase-crashlytics-gradle:2.7.1")
}
}
apply(plugin = "com.google.firebase.crashlytics")
$ ./gradlew
...
FAILURE: Build failed with an exception.
* What went wrong:
A problem was found with the configuration of task ':platforms:mobile:android:app:uploadCrashlyticsMappingFileCglDevRelease' (type 'UploadMappingFileTask').
- In plugin 'com.google.firebase.crashlytics' type 'com.google.firebase.crashlytics.buildtools.gradle.tasks.UploadMappingFileTask' property 'googleServicesResourceRoot' doesn't have a configured value.
Reason: This property isn't marked as optional and no value has been configured.
Possible solutions:
1. Assign a value to 'googleServicesResourceRoot'.
2. Mark property 'googleServicesResourceRoot' as optional.
How can I avoid this gradle exception without using the google-play-services plugin and still have a successful obfuscation mapping uploaded to firebase crashlytics?
What is the firebase-crashlytics-gradle plugin expecting from googleServicesResourceRoot
? Build flavor resources root? The directory where the google-services.json
file is located at? (which I don't use)?
I found Type 'UploadMappingFileTask' property 'googleServicesResourceRoot' doesn't have a configured value, with the same root cause and an accepted solution, which is to apply the google-play-services plugin prior to the crashlytics plugin.
However, we are not using the google-play-services plugin and we don't intend to do it in the future.