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

Flutter集成Firebase Analytics启动崩溃,报ScionFrontendApi致命异常

Flutter Firebase Analytics 接入Android后崩溃问题

问题情况

已将Firebase接入Android项目,但使用Firebase Analytics时应用发生崩溃。

依赖版本

firebase_core: ^2.10.0
firebase_analytics: ^10.2.0

初始化代码

// ...
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);
FirebaseAnalytics analytics = FirebaseAnalytics.instance;

报错日志

FATAL EXCEPTION: ScionFrontendApi
E/AndroidRuntime(14198): Process:  PID: 14198
E/AndroidRuntime(14198): java.lang.ExceptionInInitializerError
E/AndroidRuntime(14198):    at com.google.android.gms.measurement.internal.v2.<init>(com.google.android.gms:play-services-measurement-impl@@21.2.2:4)
E/AndroidRuntime(14198):    at com.google.android.gms.measurement.internal.V1.<init>(com.google.android.gms:play-services-measurement-impl@@21.2.2:26)
E/AndroidRuntime(14198):    at com.google.android.gms.measurement.internal.V1.G(com.google.android.gms:play-services-measurement-impl@@21.2.2:7)
E/AndroidRuntime(14198):    at com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.initialize(com.google.android.gms:play-services-measurement-sdk@@21.2.2:4)
E/AndroidRuntime(14198):    at com.google.android.gms.internal.measurement.l0.a(com.google.android.gms:play-services-measurement-sdk-api@@21.2.2:15)
E/AndroidRuntime(14198):    at com.google.android.gms.internal.measurement.t0.run(com.google.android.gms:play-services-measurement-sdk-api@@21.2.2:2)
E/AndroidRuntime(14198):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
E/AndroidRuntime(14198):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
E/AndroidRuntime(14198):    at java.lang.Thread.run(Thread.java:1012)
E/AndroidRuntime(14198): Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.google.android.gms.measurement.internal.i.values []
E/AndroidRuntime(14198):    at java.lang.Enum.enumValues(Enum.java:272)
E/AndroidRuntime(14198):    at java.lang.Enum.-$$Nest$smenumValues(Unknown Source:0)
E/AndroidRuntime(14198):    at java.lang.Enum$1.create(Enum.java:279)
E/AndroidRuntime(14198):    at java.lang.Enum$1.create(Enum.java:277)
E/AndroidRuntime(14198):    at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
E/AndroidRuntime(14198):    at java.lang.Enum.getSharedConstants(Enum.java:291)
E/AndroidRuntime(14198):    at java.lang.Class.getEnumConstantsShared(Class.java:2461)
E/AndroidRuntime(14198):    at java.util.EnumMap.getKeyUniverse(EnumMap.java:754)
E/AndroidRuntime(14198):    at java.util.EnumMap.<init>(EnumMap.java:134)
E/AndroidRuntime(14198):    at R2.c.<init>(com.google.android.gms:play-services-measurement-impl@@21.2.2:1)
E/AndroidRuntime(14198):    at R2.c.<clinit>(com.google.android.gms:play-services-measurement-impl@@21.2.2:1)
E/AndroidRuntime(14198):    ... 9 more

解决方案

这个错误由Firebase依赖版本不兼容或Android构建依赖冲突导致,可尝试以下步骤修复:

  • 更新Firebase依赖到最新稳定版:
    打开pubspec.yaml,将firebase_core和firebase_analytics替换为当前最新稳定版本,执行flutter pub upgrade拉取更新。

  • 强制统一Google Play服务版本:
    在Android模块级build.gradle(通常是android/app/build.gradle)中添加配置,强制所有Google Play服务相关依赖使用同一版本:

    android {
        // 保留原有配置
        configurations.all {
            resolutionStrategy {
                force 'com.google.android.gms:play-services-measurement-impl:21.5.0'
                force 'com.google.android.gms:play-services-measurement-sdk:21.5.0'
                force 'com.google.android.gms:play-services-measurement-sdk-api:21.5.0'
            }
        }
    }
    

    版本号可根据当前最新Play服务版本调整,确保三个依赖版本一致。

  • 清理构建缓存后重新构建:
    依次执行以下命令:

    flutter clean
    flutter pub get
    cd android && ./gradlew clean && cd ..
    flutter run
    
  • 检查混淆规则(若开启混淆):
    若项目启用代码混淆,在proguard-rules.pro中添加Firebase Analytics的混淆规则:

    -keep class com.google.android.gms.measurement.** { *; }
    -keep enum com.google.android.gms.measurement.** { *; }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:14:57