Firebase触发抛出ConcurrentModificationException

时间:2018-12-10 06:56:59

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

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)

1 个答案:

答案 0 :(得分:0)

如果您想将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插件行以启用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'