在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)
请帮助我!
答案 0 :(得分:4)
ActivityThread.java
说它是updatePendingConfiguration()或registerOnActivityPausedListener(),所以它要么以.onPause()
失败,要么无法使用正确的参数调用super()
方法-或应用Configuration
时出现了问题。
我很乐意解释如何解决该问题,但是问题缺少引发异常的代码。解决此问题的最佳方法可能是使用Firebase Crashlytics之类的东西,以便人们可以确切地知道这是从哪里来的,哪些设备受到了影响(如果应该具体说明的话)。我几乎怀疑这可能是由于使用应用程序的Activity
启动Context
而未设置标志Intent.FLAG_ACTIVITY_NEW_TASK
(请参阅this answer)引起的。
答案 1 :(得分:1)
通过分析日志,可以得出以下假设,
任何外部库均引发异常 在项目中使用
说明:基本上,ActivityThread.java
引发了异常,更具体地说,第performLaunchActivity()
行的2955
方法引发了异常。由于堆栈跟踪不包含应用程序的任何内部 class
,因此我们可以假定该异常是在外部 class
中抛出的,随您在项目中使用的库一起提供。
在这种情况下,可以执行以下解决方法来解决此问题-
查看此问题的库的问题跟踪器。例如, Android-Permission 库的closed issue日志完全相同。
如果您的项目是 react native ,则对此项目有很长的讨论here
建议:我想在@Martin Zeitler建议使用Crashlytics的基础上再增加几行。
我建议您Customize your Firebase Crashlytics crash reports。因为,有时仅堆栈跟踪不足以重现 崩溃。
通过使用自定义功能,您将能够获得
用户身份
应用程序状态
崩溃前执行的事件
肯定会帮助您重新生成崩溃并进行修复。
答案 2 :(得分:0)
对于那些说:
* {
box-sizing: border-box;
}
html, body {
height: 100%;
margin: 0;
}
.header {
position: relative;
height: 95vh;
background-size: cover;
background-position: top;
}
.hor-nav {
position: fixed;
top: 40px;
right: 40px;
z-index: 20;
}
.hor-nav ul{
list-style-type: none;
}
.hor-nav li {
float: left;
}
.hor-nav li a {
display: block;
text-align: center;
padding: 14px 16px;
}
.hor-nav li a,
.hor-nav li a:focus {
text-decoration: none;
color: white;
}
.hor-nav li a:hover,
.hor-nav li a:active {
text-decoration: none;
color: yellow;
outline: 0;
}
您有额外的原因日志吗?这将极大地帮助您。
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)
行。
请参见Android standalone app randomly crashes on app open
(i)这个问题来自我的互联网搜索,原因很多。常见原因似乎是使用android.support.v4.app
或使用android.support class packages
。 查看您*Compat suffix
个文件,用于build.gradle
等...
(ii)因为有时有时不会在测试中发生,所以仅部署,我猜是android.support.v4
等...在某些设备或API上使用了有问题的设备库。
注意:随着
android.support.v4
的发布, 支持库版本AndroidX,它是 喷气背包Android 9.0 (API level 28)
库包含现有的支持库 并且还包括最新的AndroidX
组件。您可以继续使用支持库。历史文物 (那些版本为
Jetpack
及更早版本,并打包为27
的版本) 将在android.support.*
上保持可用。但是,所有新图书馆 开发将在Google Maven
库中进行。我们建议在所有新项目中使用AndroidX库。您 还应该考虑将现有项目迁移到
AndroidX
。 Support Library Setup现在可以通过
AndroidX
获得支持库 资料库。我们不再支持通过以下方式下载库Google's Maven
,该功能将很快删除。.注意:在您的应用程序项目中包含支持库后, 我们强烈建议您缩小,混淆和优化 应用发布。除了保护您的源代码 混淆,缩小将从您的任何库中删除未使用的类 包含在您的应用程序中,以保持您的下载大小 应用程序越小越好。
注意:如果要包含多个支持库,则最低SDK 版本必须是任何指定版本要求的最高版本 库。例如,如果您的应用同时包含
SDK Manager
v14
支持库和Preference
v17
库(您的最低SDK版本) 必须为Leanback
或更高。
另请参阅:
它与react-native-screens有关,它们具有解决方法 这个问题,请看一下:
Android crashes nondeterministically when restoring from background-veedeo。
答案 3 :(得分:0)
几乎任何情况下都可能发生此崩溃。我遇到了同样的问题,根本原因是在覆盖的IllegalArgumentException
中,由错误实施的Comparator
引发的Fragment#onViewCreated
。片段本身是在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控制台获取崩溃报告,则几乎不可能找到根本原因。我很幸运发生了一次客户事件,这使我对在哪里查找以及如何重现崩溃有深刻见解。您也可以切换到自定义崩溃报告工具,例如HockeyApp或Firebase,以查看整个堆栈跟踪。
答案 4 :(得分:0)
将反混淆(mapping.txt)文件上传到Google Playstore。 阅读以下文档,了解如何生成和上传。
https://support.google.com/googleplay/android-developer/answer/9848633?hl=en
答案 5 :(得分:-1)
我遇到了同样的错误。我解决了它,也许对某些人有帮助:
问题出在我的land / tooldbar.xml中。我已迁移到Androidx库。我解决了更改有问题的xml文件的问题。
请勿使用:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
....
....
</android.support.v4.widget.DrawerLayout>
代替使用:
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
....
....
</androidx.drawerlayout.widget.DrawerLayout>