【问题标题】:Firebase intigration throwing ConcurrentModificationExceptionFirebase 集成引发 ConcurrentModificationException
【发布时间】:2018-12-10 06:56:59
【问题描述】:

firebase 在以下行中抛出 ConcurrentModificationException

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener()

使用 gradle 实现

implementation 'com.google.firebase:firebase-core:16.0.6'

完整的堆栈跟踪是

Caused by java.util.ConcurrentModificationException
       at android.support.v4.util.SimpleArrayMap.put(SimpleArrayMap.java:461)
       at com.google.android.gms.common.api.internal.zzc.addCallback(Unknown Source:20)
       at com.google.android.gms.tasks.zzu$zza.(Unknown Source:9)
       at com.google.android.gms.tasks.zzu$zza.zza(Unknown Source:4)
       at com.google.android.gms.tasks.zzu.addOnSuccessListener(Unknown Source:36)
       at com.<package_name>.Activity.MainActivity.onCreate(MainActivity.java:158)
       at android.app.Activity.performCreate(Activity.java:6982)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2811)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2933)
       at android.app.ActivityThread.-wrap11(Unknown Source)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1612)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6710)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)

【问题讨论】:

    标签: android firebase android-support-library firebase-analytics


    【解决方案1】:

    如果您想将 Firebase 库集成到您自己的项目中,您需要执行一些基本任务来准备您的 Android Studio 项目。作为将 Firebase 添加到您的应用的一部分,您可能已经这样做了。

    首先,将规则添加到您的根级 build.gradle 文件,以包含 google-services 插件和 Google 的 Maven 存储库:

    buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.2.0' // google-services plugin
    }
    }
    
    allprojects {
    // ...
    repositories {
        // ...
        google() // Google's Maven repository
    }
    }
    

    然后,在您的模块 Gradle 文件(通常是 app/build.gradle)中,在文件底部添加 apply plugin 行以启用 Gradle 插件:

    apply plugin: 'com.android.application'
    
    android {
    // ...
    }
    
    dependencies {
     // ...
    implementation 'com.google.firebase:firebase-core:16.0.6'
    
    // Getting a "Could not find" error? Make sure you have
    // added the Google maven respository to your root build.gradle
    }
    
    // ADD THIS AT THE BOTTOM
    apply plugin: 'com.google.gms.google-services'
    

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      • 2019-06-24
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多