简体   繁体   English

播放控制台未显示完整堆栈跟踪

[英]Play Console Not Showing Full Stack Trace

I can't find the part of the stack trace in the Google Play Console that actually deals with my app's code, specifically. 我在Google Play控制台中找不到堆栈跟踪中专门用于处理我的应用代码的部分。 All I get is the system stuff, without showing where in my code that is causing the error. 我得到的只是系统内容,而没有显示代码中导致错误的位置。

java.lang.RuntimeException: 
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:2884)
  at android.app.ActivityThread.-wrap14 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1565)
  at android.os.Handler.dispatchMessage (Handler.java:111)
  at android.os.Looper.loop (Looper.java:207)
  at android.app.ActivityThread.main (ActivityThread.java:5728)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:789)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:679)
Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:2879)

Android is completely open source. Android是完全开源的。 If you look at the source code for ActivityThread you can see that handleReceiver() is called when a Broadcast is received by your app. 如果查看ActivityThread 的源代码 ,则可以看到当应用程序接收到广播时,将调用handleReceiver()

If you read the documentation for Broadcasts you can see that the Broadcast comes in from the Android OS, and goes to a class declared in your manifest. 如果您阅读了广播的文档,则可以看到广播来自Android OS,并进入清单中声明的​​类。 In the example given on that page, it looks like if your manifest looks like: 在该页面上给出的示例中,清单看起来像:

<receiver android:name=".MyBroadcastReceiver"  android:exported="true">

Then you need a class like 那你需要一个像

public class MyBroadcastReceiver extends BroadcastReceiver {

I would guess from the stack trace you are declaring a broadcast receiver in your manifest that your APK doesn't have in it. 我会从堆栈跟踪中猜测,您是在清单中声明了广播接收器,但其中没有APK。 Either you forgot to write the code, got the classname wrong, or something like proguard is incorrectly stripping it out (less likely). 您要么忘记编写代码,要么输入了错误的类名,要么是诸如proguard之类的错误地将其剥离(不太可能)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM