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

Flutter集成Singular SDK出现Duplicate class错误的原因及解决方法

Flutter集成Singular SDK后Android端Duplicate Class冲突解决

问题根源

你遇到的com.google.android.gms.actions.ReserveIntents重复类错误,是因为Singular SDK依赖的旧版play-services(6.5.87)和Firebase依赖的新版play-services-basement(18.1.0)包含了同一个类,打包时触发冲突。

解决步骤

1. 强制统一Play Services依赖版本

在app/build.gradle的android块中添加版本强制策略,让所有依赖统一使用项目里的新版Play Services:

android {
    // 保留原有配置内容
    configurations.all {
        resolutionStrategy {
            force 'com.google.android.gms:play-services-basement:18.1.0'
            // 若还有其他冲突的Play Services模块,可在此继续强制指定版本
        }
    }
}

2. 排除Singular中的旧Play Services依赖

如果版本强制策略无效,直接在Singular的依赖声明里排除旧版play-services模块。找到你引入Singular的位置(无论是pubspec.yaml对应的Android依赖,还是直接在app/build.gradle中),添加排除规则:

dependencies {
    // 其他依赖保持不变
    implementation('com.singular.sdk:singular-flutter:你的Singular版本号') {
        exclude group: 'com.google.android.gms', module: 'play-services'
    }
}

3. 清理缓存并重新构建

修改配置后,执行以下命令彻底清理缓存再重新构建项目:

flutter clean
flutter pub get
cd android && ./gradlew clean build

排查其他冲突的方法

如果仍有其他重复类错误,可通过以下命令查看完整依赖树,定位重复模块:

cd android && ./gradlew app:dependencies

之后用同样的版本强制或依赖排除方法处理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:52:44