包含 "implementation 'com.google.firebase:firebase-analytics:17.4.4'" 会导致应用程序每次在启动时崩溃

Including "implementation 'com.google.firebase:firebase-analytics:17.4.4'" causes app to crash at startup every time

这里是 Logcat:

2020-07-29 15:36:26.382 1382-8050/? I/ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=XXX bnds=[586,1002][855,1440]} from uid 10156
2020-07-29 15:36:26.386 878-878/? D/android.hardware.power@1.3-service.pixel-libperfmgr: LAUNCH: 1
2020-07-29 15:36:26.390 1382-1382/? V/SettingsProvider: Notifying for 0: content://settings/secure/reminder_exp_learning_time_elapsed
2020-07-29 15:36:26.415 845-845/? D/Zygote: Forked child process 3895
2020-07-29 15:36:26.416 3895-3895/? I/XXX: Late-enabling -Xcheck:jni
2020-07-29 15:36:26.416 1382-1417/? I/ActivityManager: Start proc 3895:XXX/u0a210 for activity {XXX}
2020-07-29 15:36:26.427 3895-3895/? E/XXX: Unknown bits set in runtime_flags: 0x8000
2020-07-29 15:36:26.594 3895-3895/XXX I/MultiDex: VM with version 2.1.0 has multidex support
2020-07-29 15:36:26.594 3895-3895/XXX I/MultiDex: Installing application
2020-07-29 15:36:26.594 3895-3895/XXX I/MultiDex: VM has multidex support, MultiDex support library is disabled.
    
    --------- beginning of crash
2020-07-29 15:36:26.612 3895-3933/X E/AndroidRuntime: FATAL EXCEPTION: ScionFrontendApi
    Process: X, PID: 3895XX
    java.lang.NoSuchFieldError: No static field PREFER_LOCAL of type Lcom/google/android/gms/dynamite/DynamiteModule$VersionPolicy; in class Lcom/google/android/gms/dynamite/DynamiteModule; or its superclasses (declaration of 'com.google.android.gms.dynamite.DynamiteModule' appears in /data/app/XXX-9lVbsCQwO59OkXDFYFHDjg==/base.apk)
        at com.google.android.gms.internal.measurement.zzag.zza(com.google.android.gms:play-services-measurement-sdk-api@@17.4.4:54)
        at com.google.android.gms.internal.measurement.zzaj.zza(com.google.android.gms:play-services-measurement-sdk-api@@17.4.4:12)
        at com.google.android.gms.internal.measurement.zzag$zzb.run(com.google.android.gms:play-services-measurement-sdk-api@@17.4.4:11)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
2020-07-29 15:36:26.614 1382-3941/? I/DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
2020-07-29 15:36:26.615 1382-8050/? W/ActivityTaskManager:   Force finishing activity XXX/XXX

注释掉 app/build 中的这一行。gradle

//    implementation 'com.google.firebase:firebase-analytics:17.4.4'

导致问题消失,应用程序正常启动。

"AndroidRuntime: FATAL EXCEPTION: ScionFrontendApi"
对任何人都意味着什么?

这个怎么样: 'java.lang.NoSuchFieldError: 没有 PREFER_LOCAL 类型的静态字段 Lcom/google/android/gms/dynamite/DynamiteModule$版本策略; 在 class Lcom/google/android/gms/dynamite/DynamiteModule' ?

Thank you.

您是否遵循了将 firebase-analytics 依赖项添加为文档的步骤 guide

因为它看起来像内部模块中缺少一些属性。

编辑: 将 firebase-analytics 依赖项的版本降低到旧版本 (17.3.0) 解决了错误。

似乎来自FirebaseAnalytics (FlutterFire) 和一些版本冲突。只发生在发布版本上。 This comment 有了答案。

在 pubspec.yaml 中锁定 Firebase 版本对我有用。

  firebase_core: 1.13.1 
  firebase_messaging: 11.2.11
  firebase_analytics: 9.1.0

只需 remove/comment app/build.gradle 中的这一行即可解决问题

implementation "com.google.firebase:firebase-analytics-ktx"

firebase-analytics 中似乎存在依赖性问题。