活动onCreate中的java.util.ConcurrentModificationException


48

在最近的发布中,我通过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);

这是代码,直到最近的最近70行

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

1
我们在Android 9以下的几部手机上都发现了相同的问题。您使用Firebase Analytics吗?如果是,哪个版本?
Farasy

升级依赖项后遇到同样的问题。
Tearsdontfalls

1
@Farasy是,我也在Android 9上看到了很多,尽管在其他版本上也有一些用户。我正在使用Firebase Analytics com.google.firebase:
firebase

任何人都有想法或方案来产生此崩溃?
Bhaven Shah

Answers:


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的版本。一旦有时间,便会更新
mburst

更正:我们将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-analytics或我们使用的库替换firebase-core。您是否尝试过此解决方案?
阿德利诺

2
我想除了标题外,两者几乎是相同的。从com.google.firebase:firebase-analytics:17.1.0升级到17.2.2
Farasy

@Farasy感谢您的回复,我将还原依赖项:|
阿德利诺

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


在“ com.google.firebase:firebase-analytics:17.4.0”上再次发现此问题。
约翰

约翰-您是否有发生此事件的堆栈跟踪记录?
埃里克·伯利

0

我们最近遇到了类似的问题。用于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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.