You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Flutter应用时出现重复类禁止错误,该如何解决?

解决Flutter中Google Play Services测量库重复类问题

我之前也踩过一模一样的坑!这个错误完全是因为Firebase相关依赖拉取了不同版本的Google Play Services测量库,导致类重复冲突。不用死磕找重复依赖,按下面的步骤来就能快速搞定:

步骤1:统一Firebase依赖版本

你的pubspec.yaml里Firebase依赖版本太杂乱(比如firebase_core是固定0.5.0,其他用^模糊匹配),这会让底层Android依赖自动拉取不兼容的版本。建议把所有Firebase相关依赖调整为互相兼容的统一版本,修改后的pubspec依赖示例如下:

firebase_core: 0.5.0
cloud_firestore: 0.14.0+2  # 和firebase_core 0.5.0适配的稳定版本
firebase_storage: 4.0.0
firebase_auth: 0.18.0
firebase_messaging: 7.0.2
google_sign_in: ^4.5.6
location: 3.0.2
google_maps_flutter: ^0.5.27+3
font_awesome_flutter: 8.4.0
geolocator: ^5.1.2
cupertino_icons: ^0.1.3
appodeal_flutter: ^0.5.0
intro_slider: ^2.3.3
shared_preferences: ^0.5.12
translator: ^0.1.5
loading: ^1.0.2
permission_handler: ^5.0.1+1
beauty_textfield: ^0.0.1
snaplist: ^0.1.8
image_picker: ^0.6.7+11
geoflutterfire: 2.2.1
path_provider: ^1.6.18
image: ^2.1.18
uuid: ^2.2.2
datetime_picker_formfield: ^1.0.0
share: ^0.6.5+2

步骤2:强制指定测量库版本(步骤1无效时用)

如果统一Firebase版本后还是报错,直接在Android项目里强制所有依赖使用同一个版本的测量库:
打开android/app/build.gradle,在android代码块中添加以下配置:

android {
    // 保留你原有的其他配置...

    configurations.all {
        resolutionStrategy {
            force 'com.google.android.gms:play-services-measurement-base:17.5.0'
        }
    }
}

这个配置会强制所有依赖都使用17.5.0版本的测量库,从根源上解决版本冲突导致的重复类问题。

步骤3:清理缓存并重新构建

最后执行以下命令清理缓存、更新依赖并重新运行项目:

flutter clean
flutter pub get
flutter run

要是你好奇具体是哪个依赖引入了旧版本的测量库,可以运行flutter pub deps查看完整的依赖树,找到对应的依赖后针对性调整,但上面的方法已经能解决绝大多数情况了。

内容的提问来源于stack exchange,提问作者Acorcdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 05:47:50