如何解决这个java.lang.RuntimeException?

2022-09-02 10:56:34

Google 开发者控制台显示,我的应用在过去一个月中收到了两个相同的错误,但这并未指定错误源自的类或文件。我看不到任何具体的东西。以下是两个不同设备的错误:RuntimeException

三星Galaxy S8 Active (cruiserlteatt), 4096MB RAM, Android 7.0 报告 1 of 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)

三星银河 S7 (heroqltespr), 4096MB 内存, 安卓 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)

它可能导致此错误的原因是什么?这是唯一发生的两次,并且提供的日志没有像我能够解决的其他错误那样显示java类或xml文件。

如果有人能帮助我解决这个问题,将不胜感激,非常感谢。


答案 1

根据源代码,这里有两个地方被抛出。它们是:ActivityThread.performLaunchActivityRuntimeException

    } 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
  • 它们都将原始异常 () 传递给构造函数,以便正确链接它。eRuntimeException

如果没有因果异常消息(至少)和因果异常堆栈跟踪,或者没有完整的应用源代码,则几乎不可能诊断您的问题。

您需要弄清楚如何让Google开发人员控制台为您提供缺少的信息,或者获取logcat来记录它们。如果没有缺少的信息,我们就无法为您提供帮助。

除此之外,我可以建议你,尝试诊断此类问题的最佳方法是查看Android源代码。(这里不是很有帮助...但那是如果您缺少诊断信息。


答案 2

推荐