Firebase Crash Reportsで次のクラッシュダンプを取得しています。
Exception Java.lang.NullPointerException: Attempt to invoke virtual method 'Java.lang.String Java.lang.String.toLowerCase(Java.util.Locale)' on a null object reference
bnp.run (bnp.Java:56)
Java.lang.Thread.run (Thread.Java:818)
問題は、プロジェクトのどこでもString.toLowerCase()メソッドを使用しないことです。 Android Studioでは、メソッドのEdit-> Find In Pathを実行したが結果は得られなかったが、ライブラリを検索すると100回以上表示される。しかし、 "どこでもbnp.Java」。
ご協力いただきありがとうございます!
編集:以前のクラッシュレポートはプロガードの影響を受けず、google-play-servicesまたはFirebaseが原因である可能性があることが明らかになりました。私はアプリでgms:play-services-placesとgms:play-services-authのみを使用し、多くのFirebase依存関係も使用します。
Exception Java.lang.NullPointerException: Attempt to invoke virtual method 'Java.lang.String Java.lang.String.toLowerCase(Java.util.Locale)' on a null object reference
bnp.run (:com.google.Android.gms.DynamiteModulesC:56)
Java.lang.Thread.run (Thread.Java:818)
私はまだコメントできないので、可能な解決策としてこれを投稿しますが、これはGoogle側のエラーのようです。複数のユーザーが、まったく同じ地域でまったく同じデバイスでこのクラッシュを報告しています。したがって、Googleは仮想デバイスまたは自動デバイスでアプリを実行し、そのデバイスがクラッシュするようです。このデバイスは、ローカルus-USおよびAPIレベル23のNexus 5xのようです。
ソース: https://code.google.com/p/Android/issues/detail?id=233549
私のアプリでも同様の問題が発生しました。
Stock Android devices(Mi A1))で起動すると、アプリは「ポップアップを停止し続けます」でクラッシュしました。FabricのCrashlyticsは、
Fatal Exception: Java.lang.NullPointerException: Attempt to invoke virtual method 'Java.lang.String Java.lang.String.toLowerCase(Java.util.Locale)' on a null object reference
at bfx.run(:com.google.Android.gms.dynamite_dynamitemodulesc@[email protected] (040708-202483333):80)
at Java.lang.Thread.run(Thread.Java:818)
しかし、Google Playコンソールでリリース管理の発売前レポートを確認したところ、まったく異なる理由でアプリがPixel&Pixel 2でクラッシュしていることがわかりました。示された問題は
FATAL EXCEPTION: main Process: in.quickall.quickall, PID: 8345
Java.lang.RuntimeException: Unable to start activity ComponentInfo{in.quickall.quickall/in.quickall.quickall.Main.MainActivity}: Android.content.res.Resources$NotFoundException: Drawable in.quickall.quickall:drawable/splash_screen with resource ID #0x7f0700c0
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2817)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2892)
at Android.app.ActivityThread.-wrap11(Unknown Source:0)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1593)
at Android.os.Handler.dispatchMessage(Handler.Java:105)
at Android.os.Looper.loop(Looper.Java:164)
at Android.app.ActivityThread.main(ActivityThread.Java:6541)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.Java:240)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:767)
そして、APKバージョンから始まった問題は、起動時に白い画面を削除するためのコード(下記を参照)を実装したことです。
<style name="SplashTheme" parent="AppTheme">
<item name="Android:windowBackground">@drawable/splash_screen</item>
</style>
このコードを削除したところ、発売前のレポートで、Pixelデバイスで正常に機能していることがわかりました。
アプリは正常に起動しますが、起動時に白い画面が表示される必要があります。
私のコードが無効なURLを使用して特定のamqpサービスへの接続を作成しようとしたときに、このエラーが発生しました。適切な値に変更すると、例外はなくなります。コードを確認してください。