React Native集成Firebase后Android编译失败:无法访问zze类求助
Hey there, let's dig into this frustrating build error you're seeing! The cannot access zze error pointing to com.google.android.gms.internal.firebase-perf.zze almost always boils down to missing or mismatched Firebase Performance Monitoring dependencies—especially since you've set transitive = false for react-native-firebase, which cuts off automatic dependency pulling for Firebase sub-modules.
Here's a step-by-step fix tailored to your Gradle setup:
1. Align Google Play Services and Firebase Versions
Your current config has a version mismatch between Play Services and Firebase packages:
com.google.android.gms:play-services-base:15.0.1- Firebase packages (core/messaging/analytics) are at
15.0.2
Google requires these versions to be compatible. Update the Play Services base dependency to match your Firebase version:
implementation "com.google.android.gms:play-services-base:15.0.2"
2. Explicitly Add Firebase Performance Monitoring Dependency
Since you disabled transitive dependencies for react-native-firebase, the Firebase Performance library isn't being pulled in automatically. Add it to your dependencies block:
implementation "com.google.firebase:firebase-perf:15.0.2"
3. Clean Gradle Caches (Critical for Team Consistency)
The fact that some team members can build successfully suggests cached dependencies are causing inconsistencies. Have everyone run these steps:
- In your project's
androiddirectory, run:./gradlew clean - Delete the root
node_modulesfolder and reinstall dependencies:rm -rf node_modules && npm install # Or using yarn: rm -rf node_modules && yarn install - In Android Studio, go to File > Invalidate Caches / Restart to clear IDE-level caches.
4. Verify Google Services Plugin Version
Check your project root build.gradle to ensure the Google Services plugin version is compatible with your Firebase versions. For Firebase 15.x, use plugin version 4.2.0 or later:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.2.0' } }
Updated Dependencies Block (Example)
Here's how your dependencies should look after the changes:
dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:27.1.1" implementation "com.facebook.react:react-native:+" // From node_modules implementation project(':react-native-i18n') implementation project(':react-native-mail') implementation project(':react-native-image-picker') implementation project(':react-native-fast-image') implementation(project(':react-native-firebase')) { transitive = false } // Firebase dependencies (aligned versions) implementation "com.google.android.gms:play-services-base:15.0.2" implementation "com.google.firebase:firebase-core:15.0.2" implementation "com.google.firebase:firebase-messaging:15.0.2" implementation "com.google.firebase:firebase-analytics:15.0.2" implementation "com.google.firebase:firebase-perf:15.0.2" // Added this implementation 'me.leolin:ShortcutBadger:1.1.21@aar' implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') { transitive = true } }
These changes should resolve the missing class error by ensuring all required Firebase dependencies are present and versions are consistent across your team's environments.
内容的提问来源于stack exchange,提问作者acostela

