Этот недавний cra sh начал происходить во всех Android версиях различных производителей устройств. Я полагаю, что это как-то связано с рекламой или одним из компонентов Google.
Я сам открыл здесь проблему: https://issuetracker.google.com/issues/149665852
Информация, связанная с устройствами ( от 2k пользователей есть 48 исключений от 43 пользователей, произошедших за 3 дня)
трассировка стека (имя пакета скрыто из-за конфиденциальности) :
Caused by java.util.ConcurrentModificationException
at androidx.collection.SimpleArrayMap.put + 461(SimpleArrayMap.java:461)
at com.google.android.gms.measurement.internal.zzin.zza + 108(zzin.java:108)
at com.google.android.gms.measurement.internal.zzid.onActivityCreated + 11(zzid.java:11)
at android.app.Application.dispatchActivityCreated + 189(Application.java:189)
at android.app.Activity.onCreate + 962(Activity.java:962)
at androidx.core.app.ComponentActivity.onCreate + 81(ComponentActivity.java:81)
at androidx.activity.ComponentActivity.onCreate + 149(ComponentActivity.java:149)
at androidx.fragment.app.FragmentActivity.onCreate + 313(FragmentActivity.java:313)
at androidx.appcompat.app.AppCompatActivity.onCreate + 106(AppCompatActivity.java:106)
at com.example.myapp.MainActivity.onCreate + 35(MainActivity.java:35)
at android.app.Activity.performCreate + 6147(Activity.java:6147)
at android.app.Instrumentation.callActivityOnCreate + 1112(Instrumentation.java:1112)
at android.app.ActivityThread.performLaunchActivity + 2498(ActivityThread.java:2498)
at android.app.ActivityThread.handleLaunchActivity + 2625(ActivityThread.java:2625)
at android.app.ActivityThread.access$700 + 183(ActivityThread.java:183)
at android.app.ActivityThread$H.handleMessage + 1484(ActivityThread.java:1484)
at android.os.Handler.dispatchMessage + 111(Handler.java:111)
at android.os.Looper.loop + 194(Looper.java:194)
at android.app.ActivityThread.main + 5667(ActivityThread.java:5667)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke + 372(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 962(ZygoteInit.java:962)
at com.android.internal.os.ZygoteInit.main + 757(ZygoteInit.java:757)
Знание об исключении: это происходит, если функция пытается изменить список, пока другая функция выполняет итерацию по нему. Поэтому я предполагаю, что это условие гонки между двумя нитями или более.
Подробнее:
Прежде всего, мы не используем SimpleArrayMap
. Поэтому я уверен, что исключение никак не связано с нашим кодом.
Вызов com.example.myapp.MainActivity.onCreate + 35(MainActivity.java:35)
этой строки указывает на следующее:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); // stack trace points here
// rest of the code
}
Трассировка стека указывает на onCreate
но ответственный действительно здесь (который находится наверху трассировки стека):
at androidx.collection.SimpleArrayMap.put + 461(SimpleArrayMap.java:461)
at com.google.android.gms.measurement.internal.zzin.zza + 108(zzin.java:108)
at com.google.android.gms.measurement.internal.zzid.onActivityCreated + 11(zzid.java:11)
Теперь пара деталей: это приложение использует Firebase Analytics, AdMob с различными рекламными сетями, такими как AppLovin , Ironsource et c ... и в биллинге приложений. Я не уверен, что именно com.google.android.gms.measurement
точно, но источник исключения, похоже, оттуда.
Из того, что я понимаю, этот компонент присоединяет объект, который перехватывает жизненные циклы активности через с использованием Application.registerActivityLifecycleCallbacks
. Сейчас большинство библиотек делают это, но ни одна из них, которую мы используем, не вызывает подобное исключение. Итак, я не уверен, как перехватить и двигаться дальше, потому что я боюсь, что завернуть это в пробный улов не похоже на хорошее «решение». Я даже не уверен, разрешит ли это ситуацию, потому что думаю, что после этого произойдет еще одно исключение, такое как You must call Activity.onCreate()
.
Я в тупике и не знаю, что делать, кроме вопроса здесь , Самым близким, что я нашел, было это , но на этот вопрос также нет ответов.
Если это поможет, вот зависимости, которые мы используем. (наш файл build.gradle)
implementation fileTree(dir: 'libs', include: '*.aar')
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-config:19.1.1'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.browser:browser:1.2.0'
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
implementation 'com.google.android.material:material:1.2.0-alpha03'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.annotation:annotation:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'
implementation 'androidx.preference:preference:1.1.0'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.google.android.gms:play-services-base:17.1.0'
implementation 'com.airbnb.android:lottie:3.0.7'
implementation 'com.google.android.play:core:1.6.4'
implementation 'com.github.anrwatchdog:anrwatchdog:1.4.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.google.android.gms:play-services-ads:18.3.0'
implementation 'com.google.android.ads:mediation-test-suite:1.2.2'
implementation 'com.squareup.retrofit2:retrofit:2.6.0'
implementation 'com.squareup.retrofit2:converter-gson:2.6.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'com.google.ads.mediation:applovin:9.8.0.0'
implementation 'com.google.ads.mediation:facebook:5.6.0.0'
implementation 'com.mopub.volley:mopub-volley:2.1.0'
implementation('com.mopub:mopub-sdk:5.7.0@aar') {
transitive = true
exclude module: 'libAvid-mopub' // To exclude AVID
exclude module: 'moat-mobile-app-kit' // To exclude Moat
}
implementation 'com.google.ads.mediation:mopub:5.7.0.0'
implementation 'com.google.ads.mediation:inmobi:7.3.0.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.google.android.gms:play-services-plus:17.0.0'
implementation 'com.google.ads.mediation:tapjoy:12.3.1.0'
implementation 'com.unity3d.ads:unity-ads:3.1.0'
implementation 'com.google.ads.mediation:unity:3.1.0.0'
Любая помощь приветствуется, большое спасибо.