2

我们正面临一个我不知道如何解决的异常。它似乎与 webviews 和多处理有关,我们的应用程序确实使用了多达 4 个进程。但是我希望在 Android 9 上发生这种崩溃,因为多处理需要调用 webviews,WebView.setDataDirectorySuffix(suffix)而我们已经在调用它。坦率地说,到目前为止,在 70 次崩溃中,Android 9 和 10 似乎还不错。

我不希望在其他版本上发生这种崩溃,尽管它只发生在 Android 5.0、5.1 和 6.0 上。应用程序已被保护,但映射文件已上传到 Crashlytics,因此我希望有更好的堆栈跟踪,但这只是我拥有的。我不知道为什么会发生这种情况,我无法使用我们的 Android 5 和 6 设备或模拟器在本地生成它。它只发生在生产中,但经常发生。

该应用程序使用 Firebase Analytics、具有各种中介功能的 Google Ads 和应用计费(如果有帮助的话)。而且,我们最近添加了一个名为Yandex Metrica的东西,它在自己的进程中运行,后缀为“:Metrica”。我的猜测是它来自那里,因为 Metrica 中的代码使用组件“java.nio.FileLock”并尝试获取锁。至少,这是我通过反编译我们的 APK 并搜索该包所发现的。

编辑

这可能是错误的,因为显然我们的另一个应用程序在没有使用 Yandex Metrica 的情况下抛出了相同的异常。

堆栈跟踪:

Fatal Exception: java.lang.RuntimeException: Failed to create lock file /data/user/0/com.example.app/app_webview/webview_data.lock
       at org.chromium.android_webview.AwDataDirLock.a + 22(AwDataDirLock.java:22)
       at F8.g + 46(F8.java:46)
       at E8.run + 2(E8.java:2)
       at Kw.f + 11(Kw.java:11)
       at Jw.run(Jw.java)
       at android.os.Handler.handleCallback + 743(Handler.java:743)
       at android.os.Handler.dispatchMessage + 95(Handler.java:95)
       at android.os.Looper.loop + 171(Looper.java:171)
       at android.app.ActivityThread.main + 5417(ActivityThread.java:5417)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 726(ZygoteInit.java:726)
       at com.android.internal.os.ZygoteInit.main + 616(ZygoteInit.java:616)

摇篮依赖:

implementation fileTree(dir: 'libs', include: '*.aar')
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.palette:palette:1.0.0'
implementation "androidx.preference:preference:1.1.0"
implementation 'com.android.support:percent:28.0.0'
implementation 'com.google.android.material:material:1.2.0-alpha02'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7'
implementation 'com.makeramen:roundedimageview:2.3.0'
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.intuit.ssp:ssp-android:1.0.6'
implementation 'com.github.GrenderG:Toasty:1.3.0'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.anrwatchdog:anrwatchdog:1.4.0'
implementation 'com.airbnb.android:lottie:3.0.7'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

implementation ("com.google.firebase:firebase-ads:17.1.0") {
    exclude group: 'com.android.support'
}
implementation ('com.google.firebase:firebase-messaging:17.3.4') {
    exclude group: 'com.android.support'
}
implementation "com.google.firebase:firebase-crash:16.2.1"
implementation('com.labo.kaji:swipeawaydialog:0.1.1') {
    transitive = true
    exclude group: 'com.android.support'
}
implementation 'com.github.zurche:plain-pie:v0.1.1'

implementation 'com.google.firebase:firebase-config:19.1.1'

// Yandex API Metrica implementation.
implementation 'com.yandex.android:mobmetricalib:3.10.0'

// Ads

implementation 'com.google.android.material:material:1.1.0'
implementation 'com.github.bumptech.glide:glide: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'

// Crashlytics implementation.
implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') {
    transitive = true
}

implementation 'androidx.appcompat:appcompat:1.1.0'
implementation "androidx.preference:preference:1.1.0"
implementation ("com.kochava.base:tracker:3.5.0") {
    exclude group: "com.android.support"
}
implementation "androidx.work:work-runtime:2.3.1"

// Required: Install Referrer (If publishing to Google Play)
// noinspection GradleDependency
implementation 'com.android.installreferrer:installreferrer:1.1'

// Required: To track down latest updates
implementation 'com.google.android.play:core:1.6.4'

// Required: To track down notifications.
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-analytics:17.2.2'

implementation 'com.google.android.gms:play-services-analytics:17.0.0'
implementation 'com.google.android.gms:play-services-analytics-impl:17.0.0'

// Optional: Instant App Status Collection
implementation 'com.google.android.instantapps:instantapps:1.1.0'

// Required for Flurry Analytics integration
implementation 'com.flurry.android:analytics:11.4.0@aar'

// Crashlytics implementation.
implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') {
    transitive = true
}

// Multidex implementation.
implementation 'androidx.multidex:multidex:2.0.1'

implementation 'com.android.billingclient:billing:2.1.0'

// Don't update these libraries. They cause below API 21 to crash.
implementation 'com.squareup.retrofit2:retrofit:2.6.0'
implementation 'com.squareup.retrofit2:converter-gson:2.6.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'

implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.airbnb.android:lottie:3.0.7'
implementation 'com.romainpiel.shimmer:library:1.4.0@aar'

任何帮助表示赞赏,谢谢。

4

0 回答 0