From f5c2604d3dd2a798ba1e1bb023a90620eef62dee Mon Sep 17 00:00:00 2001 From: Greg Stanton Marra Date: Thu, 12 Feb 2026 19:06:43 -0500 Subject: [PATCH] Fix Crashlytics not initializing due to R8 stripping ComponentRegistrar constructors R8 (AGP 9) aggressively removes no-arg constructors that aren't directly referenced in code. Firebase discovers CrashlyticsRegistrar via reflection, so the constructor gets stripped and Crashlytics silently fails to initialize. This explains zero Crashlytics telemetry from the 10.9.0 alpha. Keep all Firebase ComponentRegistrar constructors to fix Crashlytics and protect other Firebase components from the same issue. Co-Authored-By: Claude Opus 4.6 --- app/proguard-rules.pro | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index fb164d666..c2b57117c 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1 +1,7 @@ # Add project specific ProGuard rules here. + +# Firebase component registrars are instantiated via reflection. +# R8 strips their no-arg constructors without this rule. +-keep class com.google.firebase.** implements com.google.firebase.components.ComponentRegistrar { + (); +}