Firebase Crashlytics 2.0.0 plugin doesn't support incremental builds
See original GitHub issue[REQUIRED] Step 2: Describe your environment
====Platform information:==== AI-193.6911.18.40.6401094, JRE 1.8.0_242-release-1644-b3-6222593x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.15.4, screens 3440x1440
AS: 4.0 Beta 5; Kotlin plugin: 1.3.72-release-Studio4.0-1; Android Gradle Plugin: 4.0.0-beta05; Gradle: 6.3; NDK: from local.properties: (not specified), latest from SDK: (not found); LLDB: pinned revision 3.1 not found, latest from SDK: (package not found); CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: 3.14.5
[REQUIRED] Step 3: Describe the problem
I updated to: ‘com.google.firebase:firebase-crashlytics-gradle:2.0.0’
Now Android Studio 4.0.0-beta05 complains about the plugin not being incremental:
At 12:55, May 04, 2020, Android Studio detected an issue with Gradle plugin com.google.firebase.crashlytics
Always-run Tasks Task runs on every build because it declares no outputs.
Plugin: com.google.firebase.crashlytics
Task: injectCrashlyticsMappingFileIdPersonalDkDebug
Task type: com.google.firebase.crashlytics.buildtools.gradle.tasks.InjectMappingFileIdTask
Issue detected in 1 module(s), total execution time was 0.018 s (0.2%), by module:
Execution mode: FULL, time: 0.018 s (0.2%), determines build duration: true, on critical path: false
====Build information:====
Execution date: 04/05/2020, 12.55
Total build duration: 15.795 s
Configuration time: 4.201 s (26.6%)
Critical path tasks time: 9.765 s (61.8%)
Critical path tasks size: 88
AGP versions: 4.0.0-beta05
Also I tried make the debug builds not call “injectCrashlyticsMappingFileIdPersonalDkDebug” by setting the following, but it doesn’t work: <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
I also have: debug { firebaseCrashlytics { mappingFileUploadEnabled false } }
So how do you turn off the plugin for debug builds?
Issue Analytics
- State:
- Created 3 years ago
- Reactions:6
- Comments:11 (6 by maintainers)
Top GitHub Comments
Hi folks, thanks for the conversation!
First of all, some context:
For obfuscated builds, the Crashlytics Gradle plugin injects a mapping file ID (as you might have guessed!) into your app which associates the particular mapping file uploaded for that build with that particular build’s crashes.
If you are not obfuscating your app build, then this task should be always
UP-TO-DATE
(except on a clean build, of course).If you are obfuscating your build, but don’t need to upload a mapping file for a given build type or flavor, you can set
mappingFileUploadEnabled
tofalse
in order to disable mapping file upload (and mapping file ID injection). More information on that can be found here.Folks that are still confused, can I ask for more information?
I did see the original report suggested the
mappingFileUploadEnabled
setting wasn’t working, can you give me a better idea of your full configuration, and what failure you’re seeing?In my own testing, the Build Analyzer only shows the “always-run” warning on a clean build. On subsequent builds, the task is
UP-TO-DATE
.