web-dev-qa-db-ja.com

このJava.lang.RuntimeExceptionを解決するには?

Googleデベロッパーコンソールに、アプリが過去1か月に同じエラーを2つ受け取ったことが示されていますが、このRuntimeExceptionは、エラーの原因となったクラスまたはファイルを指定していません。私が見ることができる特定のものは何もありません。以下は、2つの異なるデバイスのエラーです。

Samsung Galaxy S8 Active(cruiserlteatt)、4096MB RAM、Android 7.0レポート1/2

Java.lang.RuntimeException: 
  at Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2984)
  at Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:3045)
  at Android.app.ActivityThread.handleRelaunchActivity 
(ActivityThread.Java:4978)
  at Android.app.ActivityThread.-wrap21 (ActivityThread.Java)
  at Android.app.ActivityThread$H.handleMessage (ActivityThread.Java:1648)
  at Android.os.Handler.dispatchMessage (Handler.Java:102)
  at Android.os.Looper.loop (Looper.Java:154)
  at Android.app.ActivityThread.main (ActivityThread.Java:6781)
  at Java.lang.reflect.Method.invoke (Native Method)
  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run 
(ZygoteInit.Java:1520)
  at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:1410)

Samsung Galaxy S7(heroqltespr)、4096MB RAM、Android 7.0レポート2/2

Java.lang.RuntimeException: 
  at Android.app.ActivityThread.performLaunchActivity 
(ActivityThread.Java:2947)
  at Android.app.ActivityThread.handleLaunchActivity 
(ActivityThread.Java:3008)
  at Android.app.ActivityThread.handleRelaunchActivity 
(ActivityThread.Java:4974)
  at Android.app.ActivityThread.-wrap21 (ActivityThread.Java)
  at Android.app.ActivityThread$H.handleMessage (ActivityThread.Java:1656)
  at Android.os.Handler.dispatchMessage (Handler.Java:102)
  at Android.os.Looper.loop (Looper.Java:154)
  at Android.app.ActivityThread.main (ActivityThread.Java:6688)
  at Java.lang.reflect.Method.invoke (Native Method)
  at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run 
 (ZygoteInit.Java:1468)
  at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:1358)

このエラーの原因は何ですか?これらが発生したのは2回だけで、提供されたログにJavaクラスまたはxmlファイルが表示されず、他のエラーのように解決できます。

誰かがこれを解決するのを助けてくれれば幸いです。ありがとうございます。

19
4u53r

ソースコード によると、ActivityThread.performLaunchActivityの2つの場所にRuntimeExceptionがスローされます。彼らです:

    } catch (Exception e) {
        if (!mInstrumentation.onException(activity, e)) {
            throw new RuntimeException(
                "Unable to instantiate activity " + component
                + ": " + e.toString(), e);
        }
    }

そして

    } catch (Exception e) {
        if (!mInstrumentation.onException(activity, e)) {
            throw new RuntimeException(
                "Unable to start activity " + component
                + ": " + e.toString(), e);
        }
    }

ご覧のように:

  • どちらもRuntimeExceptionに元の例外からの例外メッセージを含むメッセージを提供します。
  • どちらも元の例外(e)をRuntimeExceptionコンストラクターに渡して、適切にチェーンされるようにします。

因果関係の例外メッセージ(少なくとも)と因果関係の例外スタックトレースがない場合、ORアプリの完全なソースコードがないと、問題を診断することがほぼ不可能になります。

Google Developer Consoleで不足している情報を提供する方法を理解するか、logcatでそれらをログに記録する必要があります。 不足している情報がないと、私たちはあなたを助けることができません。

それとは別に、このような問題を診断するための最善の方法は、Androidソースコードを確認することです(ここではあまり役に立ちませんが...不足している診断情報があるかどうか。)

5
Stephen C