Как решить ConcurrentModificationException - PullRequest
4 голосов
/ 09 февраля 2020

После обновления приложения я получаю ошибки от Firebase почти во всех действиях.

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.app/com.project.app.MainActivity}: java.util.ConcurrentModificationException
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
   at android.app.ActivityThread.-wrap11()
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:176)
   at android.app.ActivityThread.main(ActivityThread.java:6651)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)

Caused by java.util.ConcurrentModificationException
   at androidx.collection.SimpleArrayMap.put(SimpleArrayMap.java:482)
   at com.google.android.gms.measurement.internal.zzin.zza(com.google.android.gms:play-services-measurement-impl@@17.2.2:108)
   at com.google.android.gms.measurement.internal.zzid.onActivityCreated(com.google.android.gms:play-services-measurement-impl@@17.2.2:11)
   at android.app.Application.dispatchActivityCreated(Application.java:199)
   at android.app.Activity.onCreate(Activity.java:1034)
   at androidx.core.app.ComponentActivity.onCreate(ComponentActivity.java:81)
   at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:149)
   at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:313)
   at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
   at com.project.app.MainActivity.onCreate(MainActivity.java:74)
   at android.app.Activity.performCreate(Activity.java:7088)
   at android.app.Activity.performCreate(Activity.java:7079)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
   at android.app.ActivityThread.-wrap11()
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:176)
   at android.app.ActivityThread.main(ActivityThread.java:6651)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)

Я уверен, что проблема возникла после изменения build.gradle (Модуль: приложение).

Это несколько строк build.gradle (старая версия):

implementation 'com.google.android.material:material:1.2.0-alpha02'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'
implementation 'com.android.billingclient:billing:2.0.3'
implementation 'com.google.firebase:firebase-ads:18.3.0'
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

Это несколько строк build.gradle (новая версия):

implementation 'com.google.android.material:material:1.2.0-alpha04'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
implementation 'com.android.billingclient:billing:2.1.0'
implementation 'com.google.firebase:firebase-ads:18.3.0'
//implementation 'com.google.firebase:firebase-core:17.2.2'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

Я думаю, что это связано с firebase-analytics: 17.2.2, но я не уверен. Как вы думаете, где проблема? И нужно ли переходить на старую версию?

1 Ответ

4 голосов
/ 11 марта 2020

Это потому, что в firebase-core lib они исправили это в версии 17.2.3, см. Журнал изменений: https://firebase.google.com/support/release-notes/android#analytics_v17 -2-3

измените

'com.google.firebase:firebase-core:17.2.1'

до

'com.google.firebase:firebase-core:17.2.3'

...