[java] onCreate 활동의 java.util.ConcurrentModificationException

Admob 광고 조정을 통해 MoPub를 추가 한 최근 릴리스에서 충돌 로그에 많은 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)

BaseActivity의 21 행까지 코드는 다음과 같습니다.

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

RecentGameActivity의 70 번째 줄까지의 코드입니다.

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



답변

우리의 경우에는

com.google.firebase:firebase-analytics:17.2.2 

17.2.1로 되 돌리면 문제가 해결되었습니다.

firebase-analytics는 브랜딩 된 라이브러리와 동일하기 때문에 firebase-core : 17.2.2를 사용하는 경우에도 마찬가지입니다. 공식 문서에 따라 firebase-core의 현재 사용량은 더 이상 사용되지 않는다는 점을 고려하십시오-> https://firebase.google.com/support/release-notes/android#latest_sdk_versions


답변

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'


답변

마지막으로 17.2.3에서 수정되었습니다 :
https://firebase.google.com/support/release-notes/android#analytics_v17-2-3


답변

문제를 확인했으며 다음 SDK 릴리스에 대한 수정 작업을 진행 중입니다.


답변

최근 비슷한 문제가 발생했습니다. Admob 중개 용 Unity Ads 어댑터에서 오류가 발생했습니다.

다음은 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)

이 문제가 다시 firebase와 관련이 있습니까?

최신 정보

이번에는 UnityAds 어댑터에 문제가있는 것 같습니다 :
https://developers.google.com/admob/android/mediation/unity#version-3.4.2.2


답변