java.util.ConcurrentModificationException ในกิจกรรม onCreate


48

ในรุ่นล่าสุดที่ฉันเพิ่ม MoPub ผ่านสื่อกลาง Admob ฉันเห็นกลุ่มของ ConcurrentModificationException ในบันทึกข้อผิดพลาด ดูเหมือนว่าจะเป็นรหัสเนทีฟและฉันเป็นเวอร์ชันล่าสุดของไลบรารีที่เกี่ยวข้องกับโฆษณาทั้งหมดและ google / android ที่เกี่ยวข้อง มีใครเคยเข้าร่วมในเรื่องนี้มาก่อนหรือไม่

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3121)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3264)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1955)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7078)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:964)
Caused by: java.util.ConcurrentModificationException: 
  at androidx.c.g.put (SimpleArrayMap.java:482)
  at com.google.android.gms.measurement.internal.hs.a
  at com.google.android.gms.measurement.internal.hi.onActivityCreated
  at android.app.Application.dispatchActivityCreated (Application.java:245)
  at android.app.Activity.onCreate (Activity.java:1108)
  at androidx.core.app.e.onCreate (ComponentActivity.java:81)
  at androidx.activity.b.onCreate (ComponentActivity.java:149)
  at androidx.fragment.app.c.onCreate (FragmentActivity.java:313)
  at androidx.appcompat.app.e.onCreate (AppCompatActivity.java:106)
  at com.teamtol.livedota.BaseActivity.onCreate (BaseActivity.java:21)
  at com.teamtol.livedota.RecentGameActivity.onCreate (RecentGameActivity.java:70)
  at android.app.Activity.performCreate (Activity.java:7327)
  at android.app.Activity.performCreate (Activity.java:7318)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1275)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3101)

นี่คือลักษณะที่โค้ดมีลักษณะมากถึงบรรทัดที่ 21 ของ BaseActivity:

protected void onCreate(Bundle savedInstanceState) {
        supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        super.onCreate(savedInstanceState);

นี่คือลักษณะของโค้ดที่มีความยาวถึง 70 บรรทัดของ RecentGameActivity

public class RecentGameActivity extends BaseActivity implements AdapterView.OnItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

1
เราพบปัญหาเดียวกันในโทรศัพท์หลายรุ่นจนถึง Android 9. คุณใช้ประโยชน์จาก Firebase Analytics หรือไม่? ถ้าใช่เป็นเวอร์ชั่นอะไร
Farasy

มีปัญหาเดียวกันหลังจากฉันอัพเกรดการพึ่งพา
น้ำตา

1
@Farasy ใช่ฉันเห็นมันมากมายบน Android 9 เช่นกัน แต่มีผู้ใช้ไม่กี่คนในรุ่นอื่น ฉันใช้ Firebase Analytics com.google.firebase: Firebase-core: 17.2.2
mburst

ใครมีความคิดหรือสถานการณ์ที่จะสร้างความผิดพลาดนี้
Bhaven Shah

คำตอบ:


22

ในกรณีของเราเราเห็นความผิดพลาดเท่านั้น

com.google.firebase:firebase-analytics:17.2.2 

การเปลี่ยนกลับเป็น 17.2.1 ได้แก้ไขปัญหาแล้ว

สิ่งนี้จะเกิดขึ้นเช่นกันหากคุณใช้ firebase-core: 17.2.2 เนื่องจาก firebase-analytics เป็นไลบรารีเดียวกันที่แบรนใหม่ โปรดคำนึงถึงว่าตามเอกสารอย่างเป็นทางการการใช้งานปัจจุบันของ firebase-core จะถูกปฏิเสธ -> https://firebase.google.com/support/release-notes/android#latest_sdk_versions


การคืนค่า firebase-analytics เป็น 17.2.1 ได้แก้ไขปัญหาของเราแล้ว ขอบคุณ!
Jaydipsinh Zala

การแปลง firebase-analytics เป็น 17.2.1 ไม่ได้ช่วยแก้ปัญหาให้เรา เราใช้17.2.1มาระยะหนึ่งแล้วและไม่เห็นข้อขัดข้องเหล่านี้ ฉันสงสัยว่าข้อขัดข้องเกี่ยวข้องกับfirebase-analyticsห้องสมุดทั้งหมด
มานูเอล

1
ขอบคุณสำหรับหัวขึ้น. ฉันเพิ่งเปิดตัวรุ่นที่มี 17.2.1 จะอัปเดตเมื่อมีเวลาอยู่ในมือของผู้ใช้
ทำให้เสียชีวิต

การแก้ไข: เราเปลี่ยนกลับ firebase-analytics เป็น 17.2.1 แต่ซ้าย firebase-core ไม่เปลี่ยนแปลงที่ 17.2.2 และยังคงได้รับการล่ม จากนั้นเราเปิดตัวเวอร์ชันที่มีคอร์นั้นกลับไปเป็น 17.2.1 และยังไม่มีข้อขัดข้อง (ฉันไม่แน่ใจว่าจำเป็นต้องใช้ firebase-core หรือยัง?)
Manuel

@ PabloA.Martínezดีเราไม่เห็นข้อขัดข้องใด ๆ ในวันที่ 17.2.1 หลังจากคืนค่าทั้งคอร์และแกนการวิเคราะห์ คุณรู้หรือไม่ว่าเวอร์ชั่นแกนกลางใดเลิกใช้แล้ว? ฉันไม่พบการอ้างอิงถึงสิ่งนั้น
มานูเอล

20

เปลี่ยนไลบรารี่ Firebase Core ของคุณกลับเป็น:

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

ฉันเคยเห็นความผิดพลาดนี้ทั้งใน v17.2.1 และ v17.2.2 แต่เนื่องจากการคืนค่าเป็น 17.1.0 ทั้งหมดได้ดี

ฉันรายงานข้อบกพร่องที่นี่: https://firebase.google.com/support/troubleshooter/report/bugs

ปรับปรุง

ขอบคุณ @ Sébastienการคืนค่าเป็น v17.2.0 ควรใช้งานได้:

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

2
ในบันทึกประจำรุ่น Firebase ( firebase.google.com/support/release-notes/android ) พวกเขาบอกว่าจะแทนที่ firebase-core ด้วย firebase-analytics หรือไลบรารีที่เรากำลังใช้ คุณลองวิธีนี้แล้วหรือยัง
Adelino

2
ฉันเดาว่าทั้งคู่เหมือนกันเกือบทั้งหมดยกเว้นชื่อ เราพบปัญหานั้นเมื่ออัปเกรดจาก com.google.firebase: firebase-analytics: 17.1.0 เป็น 17.2.2
Farasy

@ ขอบคุณง่ายสำหรับการตอบกลับฉันจะคืนการพึ่งพา: |
Adelino

1
ขอบคุณ @Jim โปรดให้เราโพสต์ ดูเหมือนว่าcom.google.firebase:firebase-core:17.2.0จะได้รับการยกเว้นข้อผิดพลาด
เซบาสเตียน

1
เวอร์ชั่น 17.2.1 ใช้งานได้เราไม่เคยสังเกตเห็นความผิดพลาดของรุ่นนั้นหลังจากอัพเกรดเป็น 17.2.2
มานูเอล


6

เราพบปัญหาแล้วและกำลังแก้ไขปัญหาสำหรับ SDK รุ่นถัดไป


เรากำลังเผชิญปัญหาเดียวกัน โปรดแจ้งให้เราทราบเกี่ยวกับความคืบหน้าในการแก้ไขปัญหานี้
Qbit

3
แก้ไขด้วย 17.2.3 หรือไม่
neobie

2
@Qbit มันได้รับการแก้ไขใน 17.2.3 firebase.google.com/support/release-notes/…
Sinan Ceylan

พบปัญหานี้อีกครั้งใน 'com.google.firebase: firebase-analytics: 17.4.0'
จอห์น

จอห์น - คุณมีร่องรอยสแต็คสำหรับเหตุการณ์นี้หรือไม่?
Eric Burley

0

เราเพิ่งพบปัญหาที่คล้ายกัน ข้อผิดพลาดในอะแดปเตอร์ Unity Ads สำหรับสื่อกลาง Admob

นี่คือไฟล์ build.gradle ของเรา:

implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.google.ads.mediation:unity:3.4.2.1'
implementation 'com.google.ads.mediation:vungle:6.5.3.0'
implementation 'com.google.ads.mediation:chartboost:7.5.0.0'
implementation 'com.google.ads.mediation:mytarget:5.6.3.0'
implementation 'com.yandex.android:mobmetricalib:3.13.1'
implementation 'com.yandex.android:mobileads:2.142'
implementation 'com.yandex.ads.adapter:admob-mobileads:0.3.0'

implementation 'com.google.android.gms:play-services-games:19.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'

implementation 'com.google.firebase:firebase-analytics:17.3.0'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

implementation 'com.google.android.play:core:1.7.2'
implementation 'androidx.multidex:multidex:2.0.1'

ข้อผิดพลาดในคอนโซล Google Play:

java.util.ConcurrentModificationException: 
  at java.util.HashMap$HashIterator.nextNode (HashMap.java:1453)
  at java.util.HashMap$EntryIterator.next (HashMap.java:1487)
  at java.util.HashMap$EntryIterator.next (HashMap.java:1485)
  at com.google.ads.mediation.unity.UnitySingleton$UnitySingletonListener.onUnityAdsError (UnitySingleton.java:227)
  at com.unity3d.services.ads.configuration.AdsModuleConfiguration$3.run (AdsModuleConfiguration.java:92)
  at android.os.Handler.handleCallback (Handler.java:888)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loop (Looper.java:213)
  at android.app.ActivityThread.main (ActivityThread.java:8178)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)

ปัญหานี้เกี่ยวข้องกับฐานข้อมูลอีกครั้งหรือไม่

UPDATE

ดูเหมือนว่าปัญหานี้จะอยู่ในอะแดปเตอร์ UnityAds: https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.