Google Play Consoleから、Java.lang.RuntimeException
は "原因:"なしで発生します
以下のログは、Google Play Consoleのクラッシュログからコピーされます。
これは、Android 8.0、Android 8.1、Android 7.0、Android 7.1
Java.lang.RuntimeException:
at Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2955)
at Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:3030)
at Android.app.ActivityThread.-wrap11 (Unknown Source)
at Android.app.ActivityThread$H.handleMessage (ActivityThread.Java:1696)
at Android.os.Handler.dispatchMessage (Handler.Java:105)
at Android.os.Looper.loop (Looper.Java:164)
at Android.app.ActivityThread.main (ActivityThread.Java:6938)
at Java.lang.reflect.Method.invoke (Method.Java)
at com.Android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.Java:327)
at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:1374)
これに関して私を助けてください!
ActivityThread.Java
は pdatePendingConfiguration() または registerOnActivityPausedListener() であるため、.onPause()
で失敗するか、super()
メソッド-または、適用されているConfiguration
に問題があります。
問題を解決する方法を説明したいと思いますが、質問には例外をスローするコードがありません。これに取り組む最善の方法は、似たようなものを採用することです Firebase Crashlytics 。これにより、これがどこから来ているのか、どのデバイスが影響を受けているのかを確認できます(これが特定の場合)。フラグIntent.FLAG_ACTIVITY_NEW_TASK
を設定せずに、Activity
をアプリケーションのContext
で開始したことが原因である可能性が高いと思います(参照: この回答 )。
ログの分析から、次の仮定を行うことができます。
例外は、プロジェクトで使用されている外部ライブラリのいずれかでスローされます
説明:基本的に、例外は_ActivityThread.Java
_によってスローされます。具体的には、_2955
_のperformLaunchActivity()
メソッドが例外をスローしました。スタックトレースにアプリケーションのinternalclass
が含まれていないため、例外がexternalでスローされたと想定できますclass
は、プロジェクトで使用しているライブラリに付属しています。
その場合は、次の回避策を実行してこれを整理できます-
この問題については、ライブラリの問題トラッカーを調べてください。たとえば、Android-Permissionライブラリには クローズドイシュー とまったく同じログがあります。
プロジェクトがreact nativeの場合、それについて長い議論があります here
Suggestion:@Martin Zeitlerが提案する Crashlytics の使用を提案して、さらに数行追加します。
Firebase Crashlyticsクラッシュレポートをカスタマイズする をお勧めします。スタックトレースだけではクラッシュを再現できない場合があるためです。
カスタマイズ機能を使用することにより、
ユーザーのアイデンティティ
アプリの状態
クラッシュ前に実行されたイベント
これは確かにクラッシュを再生成して修正するのに役立ちます。
このクラッシュは、文字通り何からでも起こる可能性があります。私は同じ問題を抱えていて、根本的な原因は、オーバーライドされたFragment#onViewCreated
内で誤って実装されたIllegalArgumentException
によってスローされたComparator
でした。フラグメント自体は、AppCompatActivity#onCreate
中にFragmentManager
を介して追加されました。
2020-01-03 15:38:33.001 7860-7860/com.example.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.app, PID: 7860
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/MyActivity}: Android.view.InflateException: Binary XML file line #9 in com.example.app:layout/my_activity: Binary XML file line #9 in com.example.app:layout/my_activity: Error inflating class fragment
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:3270)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:3409)
at Android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.Java:83)
at Android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.Java:135)
at Android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.Java:95)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:2016)
at Android.os.Handler.dispatchMessage(Handler.Java:107)
at Android.os.Looper.loop(Looper.Java:214)
at Android.app.ActivityThread.main(ActivityThread.Java:7356)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.Java:492)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:930)
Caused by: Android.view.InflateException: Binary XML file line #9 in com.example.app:layout/my_activity: Binary XML file line #9 in com.example.app:layout/my_activity: Error inflating class fragment
Caused by: Android.view.InflateException: Binary XML file line #9 in com.example.app:layout/my_activity: Error inflating class fragment
Caused by: Java.lang.IllegalArgumentException: Comparison method violates its general contract!
at Java.util.TimSort.mergeLo(TimSort.Java:777)
at Java.util.TimSort.mergeAt(TimSort.Java:514)
at Java.util.TimSort.mergeCollapse(TimSort.Java:441)
at Java.util.TimSort.sort(TimSort.Java:245)
at Java.util.Arrays.sort(Arrays.Java:1492)
at Java.util.ArrayList.sort(ArrayList.Java:1470)
at Java.util.Collections.sort(Collections.Java:206)
at com.example.app.MyFragment.onViewCreated(MyFragment.Java:188)
at androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.Java:1144)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.Java:851)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.Java:1133)
at androidx.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.Java:1393)
at androidx.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.Java:3205)
at androidx.fragment.app.FragmentController.onCreateView(FragmentController.Java:134)
at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.Java:357)
at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.Java:336)
at Android.view.LayoutInflater.tryCreateView(LayoutInflater.Java:1069)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:997)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:961)
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:1123)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:656)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:534)
2020-01-03 15:38:33.003 7860-7860/com.example.app E/AndroidRuntime: at Android.view.LayoutInflater.inflate(LayoutInflater.Java:481)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.Java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.Java:161)
もちろん、Google Play Consoleからのクラッシュレポートだけでは、根本的な原因を見つけることはほとんど不可能です。私は運が良かったので、事故の再現場所と再現方法を教えてもらいました。スタックトレース全体を表示するには、HockeyAppやFirebaseなどのカスタムクラッシュレポートツールに切り替えることもできます。
言う人々のために:
_did you resolve this issue? It's a rising crash in my app as well – Bao Le Feb 6 at 8:36
did anybody resolve this issue? – AwaisMajeed Feb 9 at 13:15
Also happening to me. =( – masterlopau Feb 26 at 1:51
do this solved? – Vengat Jul 19 at 5:55
_
[〜#〜]あなた[〜#〜]に余分な原因を与えるかログ?それは非常に役立ちます。
_Java.lang.RuntimeException:
at Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2955)
at Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:3030)
at Android.app.ActivityThread.-wrap11 (Unknown Source)
at Android.app.ActivityThread$H.handleMessage (ActivityThread.Java:1696)
at Android.os.Handler.dispatchMessage (Handler.Java:105)
at Android.os.Looper.loop (Looper.Java:164)
at Android.app.ActivityThread.main (ActivityThread.Java:6938)
at Java.lang.reflect.Method.invoke (Method.Java)
at com.Android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.Java:327)
at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:1374)
_
_Java.lang.RuntimeException:
at Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2955)
at Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:3030)
at Android.app.ActivityThread.-wrap11 (Unknown Source)
at Android.app.ActivityThread$H.handleMessage (ActivityThread.Java:1696)
at Android.os.Handler.dispatchMessage (Handler.Java:105)
at Android.os.Looper.loop (Looper.Java:164)
at Android.app.ActivityThread.main (ActivityThread.Java:6938)
at Java.lang.reflect.Method.invoke (Native Method)
at com.Android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.Java:327)
at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:1374)
_
この行は異なります:
_ at Java.lang.reflect.Method.invoke (Method.Java)
_
そして:
_ at Java.lang.reflect.Constructor.newInstance0 (Native Method)
_
_Caused by: Android.support.v4.app.i$b:
at Android.support.v4.app.i.instantiate (Fragment.Java:386)
at Android.support.v4.app.k.a (FragmentContainer.Java:33)
at Android.support.v4.app.s.a (FragmentState.Java:79)
at Android.support.v4.app.o.a (FragmentManager.Java:3080)
at Android.support.v4.app.l.a (FragmentController.Java:152)
at Android.support.v4.app.j.onCreate (FragmentActivity.Java:330)
at Host.exp.exponent.experience.f.onCreate (ReactNativeActivity.Java:140)
at Host.exp.exponent.experience.a.onCreate (BaseExperienceActivity.Java:79)
at Host.exp.exponent.experience.ExperienceActivity.onCreate (ExperienceActivity.Java:160)
at Host.exp.exponent.experience.ShellAppActivity.onCreate (ShellAppActivity.Java:22)
at Android.app.Activity.performCreate (Activity.Java:7174)
at Android.app.Instrumentation.callActivityOnCreate (Instrumentation.Java:1220)
at Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2908)
Caused by: Java.lang.reflect.InvocationTargetException:
at Java.lang.reflect.Constructor.newInstance0 (Native Method)
at Java.lang.reflect.Constructor.newInstance (Constructor.Java:334)
at Android.support.v4.app.i.instantiate (Fragment.Java:364)
Caused by: Java.lang.IllegalStateException:
at abi30_0_0.Host.exp.exponent.modules.api.screens.Screen$ScreenFragment.<init> (Screen.Java:19)
_
[〜#〜]ノート[〜#〜]at_Android.support.v4.app
_行。
参照 Androidスタンドアロンアプリがアプリを開くとランダムにクラッシュする
(i)この問題には、私のインターネット検索からの無数の原因があります。一般的な原因は、_Android.support class packages
_の使用、または_*Compat suffix
_の使用です。 レビュー_build.gradle
_の_Android.support.v4
_ファイルなど...
(ii)ときどきテストでは発生しないため、展開のみが_Android.support.v4
_など...一部のデバイスまたはAPIでの問題のあるデバイスライブラリの使用だと思います。
注:
Android 9.0 (API level 28)
のリリースに伴い、Jetpackの一部であるAndroidXと呼ばれるサポートライブラリの新しいバージョンがあります。AndroidX
ライブラリには、既存のサポートライブラリと最新のJetpack
コンポーネントが含まれています。サポートライブラリは引き続き使用できます。過去のアーティファクト(_
27
_以前のバージョンであり、_Android.support.*
_としてパッケージ化されているもの)は、_Google Maven
_で引き続き利用できます。ただし、新しいライブラリの開発はすべてAndroidX
ライブラリで行われます。すべての新しいプロジェクトでAndroidXライブラリを使用することをお勧めします。また、既存のプロジェクトを
AndroidX
に移行することも検討する必要があります。 サポートライブラリのセットアップサポートライブラリは_
Google's Maven
_リポジトリから利用できるようになりました。 _SDK Manager
_を介したライブラリのダウンロードはサポートされなくなりました。その機能は間もなく削除されます。注:サポートライブラリをアプリケーションプロジェクトに含めた後、shrink、obfuscate、およびoptimizeアプリのリリース。ソースコードを難読化して保護することに加えて、圧縮により、アプリケーションに含めるライブラリから未使用のクラスが削除され、アプリケーションのダウンロードサイズが可能な限り小さくなります。
注:複数のサポートライブラリを含める場合、SDKの最小バージョンは、指定したライブラリのいずれかが必要とする最も高いバージョンでなければなりません。たとえば、アプリに_
v14
_Preference
サポートライブラリと_v17
_Leanback
ライブラリの両方が含まれている場合、SDKの最小バージョンは_17
_以降である必要があります。
以下も参照してください。
それは反応ネイティブ画面に関連しており、彼らはこの問題の回避策を持っています、見てください: