当前位置: 首页 > 知识库问答 >
问题:

Java语言android上的lang.RuntimeException。应用程序。ActivityThread。性能启动活动

郑燕七
2023-03-14

从Google Play控制台,<代码>java。lang.RuntimeException发生时没有“原因:”

以下日志是从Google Play控制台崩溃日志中复制的。
这适用于: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)

请帮我关于这个!

共有3个答案

双恩
2023-03-14

通过分析日志,可以做出以下假设:,

在项目中使用的任何外部库中都会引发异常

说明:基本上,异常是由ActivityThread.java引发的,更具体地说,2955行的performLaunchActive()方法引发了异常。由于堆栈跟踪不包括任何应用程序的内部class,我们可以假设异常是在外部class中引发的,该类与您在项目中使用的库一起提供。

如果是这种情况,可以执行以下解决方法来解决这个问题-

>

如果你的项目是原生的,这里有一个很长的讨论

建议:我想在@Martin Zeitler关于使用Crashlytics的建议中再添加几行。

我建议您自定义Firebase Crashlytics崩溃报告。因为,有时仅堆栈跟踪不足以再现崩溃。

通过使用自定义功能,您将能够获得,

>

  • 用户身份

    应用程序的状态

    崩溃前执行的事件

    这肯定会帮助您重新生成崩溃并修复它。

  • 宗政博
    2023-03-14

    对于那些说:

    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)
    

    注意atandroid.support.v4.app行。

    查看Android独立应用程序在应用程序打开时随机崩溃

    (i) 从我的互联网搜索来看,这个问题有很多原因。一个常见的原因似乎是android的使用。支持类包,或具有兼容后缀。查看您的构建。android的gradle文件。支持v4等。。。

    (ii)因为有时它不会发生在测试中,只有部署我猜android.support.v4等...使用的是一些设备或API上有问题的设备库。

    >

    您可以继续使用支持库。历史工件(版本化的27及更早版本,并打包为android.support.*)将在Google Maven上保持可用。但是,所有新的库开发都将在AndroidX库中进行。

    我们建议在所有新项目中使用AndroidX库。您还应该考虑将现有项目迁移到AndroidX。支持库设置

    支持库现在可以通过Google的Maven存储库获得。我们不再支持通过SDK管理器下载库,该功能将很快被删除。。

    注意:在您的应用程序项目中包含支持库后,我们强烈建议您缩小、混淆和优化您的应用程序以供发布。除了使用混淆保护您的源代码外,缩小还会从您在应用程序中包含的任何库中删除未使用的类,从而使您的应用程序的下载大小尽可能小。

    注意:如果您包含多个支持库,则最低SDK版本必须是任何指定库所需的最高版本。例如,如果您的应用程序同时包含v14首选项支持库和v17Leanback库,则您的最低SDK版本必须是17或更高版本。

    另请参见:

    支持库包

    特征

    它与反应本机屏幕相关,他们有解决此问题的解决方法,请查看:

    从后台恢复时,Android会不确定地崩溃-veedeo。

    慕高格
    2023-03-14

    ActivityThread.java表示它是updatePendingConfiguration()或ynsterOnActivityPausedListener(),因此它要么失败. onPance(),要么无法使用正确的参数调用Super()方法-或者应用的Configuration有问题。

    我很乐意解释如何解决这个问题,但是这个问题缺少引发异常的代码。解决这个问题的最好方法可能是使用类似Firebase Crashlytics的东西,这样人们就可以看到它的确切来源以及哪些设备受到影响(如果这应该是特定的)。我几乎怀疑这可能是由于使用应用程序的Context启动活动,同时不设置标志Intent.FLAG_ACTIVITY_NEW_TASK(请参阅:此答案)。

     类似资料:
    • 问题内容: 我正在尝试构建一个android应用程序,此应用程序的主要功能之一是使其能够在手机启动时自动启动活动,我在手机上看到一些应用程序已经执行了此操作,因此任何帮助都将非常有用。我可以至少通过sdk对此进行更好的研究,谢谢! 问题答案: 您需要像这样实现BroadCastreceiver: 在清单中添加以下内容: 添加权限:

    • 问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在

    • 问题内容: 我知道我可以按照文档中的说明使用“ lang”参数自动更改当前语言环境,但是如何跟踪这些更改,例如更新存储在当前用户域对象中的语言? 不起作用,因为它不能反映通过“ ” 完成的更改 问题答案: 在您的控制器内,您可以使用来获取语言环境。 然后解析请求的语言环境:

    • 我正在我的应用程序中开发通知,我对即将到来的意图有一些问题,这让我抓狂。 正常流程:我的应用程序有启动程序活动(活动A,单顶),它显示一个飞溅,然后启动活动B(单顶也是)。 通知:当应用程序在后台时,我在通知栏上显示一个通知,当单击时,它会通过PendingIntent打开应用程序的启动器活动。这个PendingIntent地址为活动A(SingleTop)。但是在这个场景中,它没有打开活动A,而

    • 我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与

    • 我将我的< code>MainActivity类重命名为< code>DataActivity,并用IntelliJ IDEA添加了一个新的主活动类。我将< code>AndroidManifest.xml文件更改为以下内容: 我从手机中卸载了该应用程序并删除了编译器缓存。在安装时,我得到以下异常: 启动应用:com.example.DataTest/com.example.DataTest.Da