React Native Android应用中com.google.firebase.Timestamp重复类问题修复
修复Firebase重复类
com.google.firebase.Timestamp问题 问题根源
构建失败的核心原因是Firebase依赖版本冲突:
- 你在
app/build.gradle中同时手动指定了旧版本的firebase-analytics:17.5.0、firebase-core:17.5.0,又引入了Firebase BOM(com.google.firebase:firebase-bom:32.7.4) - Firebase BOM会自动统一管理所有Firebase库的版本,但手动指定的旧版本库和BOM管理的新版本库(如
firebase-common:21.0.0、firebase-firestore:24.10.3)产生了重复类冲突
修复步骤
1. 统一Firebase依赖管理
修改app/build.gradle的dependencies块,移除手动指定的旧版本Firebase依赖,完全依托Firebase BOM管理版本:
dependencies { implementation project(':react-native-svg') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.facebook.react:react-native:+" // From node_modules // 移除以下两行手动指定的旧版本Firebase依赖 // implementation "com.google.firebase:firebase-analytics:17.5.0" // implementation "com.google.firebase:firebase-core:17.5.0" implementation(platform("com.google.firebase:firebase-bom:32.7.4")) implementation project(':react-native-vector-icons') //Added by Atena implementation 'com.android.support:multidex:1.0.3' implementation 'com.facebook.android:facebook-android-sdk:[4,5)' implementation 'com.facebook.soloader:soloader:0.10.4' if (enableHermes) { def hermesPath = "../../node_modules/hermesvm/android/"; debugImplementation files(hermesPath + "hermes-debug.aar") releaseImplementation files(hermesPath + "hermes-release.aar") } else { implementation jscFlavor } }
2. 验证依赖版本一致性
执行命令查看项目Firebase依赖树,确认所有Firebase库版本统一:
cd android ./gradlew app:dependencies | grep firebase
3. 清理缓存并重新构建
清理Gradle和Node缓存,避免旧依赖残留:
# 清理Gradle缓存 cd android ./gradlew clean # 清理Node缓存 rm -rf node_modules package-lock.json yarn.lock npm install # 重新构建项目 npx react-native run-android
4. 可选:强制排除重复依赖
若上述步骤后仍存在冲突,可在app/build.gradle中为冲突库排除重复类来源:
implementation("com.google.firebase:firebase-firestore") { exclude group: 'com.google.firebase', module: 'firebase-common' }
额外说明
@react-native-firebase17.5.0版本与Firebase BOM 32.7.4完全兼容,无需调整RN Firebase版本- 官方推荐使用Firebase BOM管理依赖版本,避免手动指定版本带来的冲突问题
内容的提问来源于stack exchange,提问作者Ailton Aires
相关产品推荐
相关产品推荐

