如何修复Flutter集成Firebase时TransactionOptions包不存在错误
解决cloud_firestore包TransactionOptions不存在的编译错误
错误信息
:\Flutter\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-3.4.3\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java:66: error: package TransactionOptions does not exist new TransactionOptions.Builder().setMaxAttempts(maxAttempts).build(),
解决步骤
统一Firebase SDK版本:该错误多由Firebase依赖版本不匹配导致,推荐用Firebase BOM管理所有Firebase依赖的兼容版本。在
android/build.gradle的dependencies块中添加:implementation platform('com.google.firebase:firebase-bom:32.7.0') implementation 'com.google.firebase:firebase-firestore'替换原有单独指定的firestore依赖,BOM会自动同步所有Firebase组件的兼容版本。
清理缓存并重建项目:执行以下命令彻底清理旧缓存,重新获取依赖:
flutter clean flutter pub get cd android && ./gradlew clean cd .. && flutter run调整cloud_firestore版本:若上述方法无效,修改
pubspec.yaml中的cloud_firestore版本,比如降级到3.4.2或升级到最新稳定版,之后执行flutter pub get重新拉取依赖。检查Gradle环境版本:确保项目使用的Android Gradle插件(
android/build.gradle中com.android.tools.build:gradle)和Gradle版本(android/gradle/wrapper/gradle-wrapper.properties中distributionUrl)符合cloud_firestore 3.x的要求,建议使用Android Gradle插件7.0+、Gradle 7.0+。
内容的提问来源于stack exchange,提问作者OverdoseB12
相关产品推荐
相关产品推荐

