无法从Android设备中找到特定错误

时间:2016-05-04 02:34:51

标签: java android fatal-error android-logcat android-runtime

这是手头的问题。我正在开发的应用程序在模拟器中工作得很好,BlueStack更精确。然后当我在我的Android设备lenovo s650 4.4.2中运行应用程序时,应用程序一进入主菜单就崩溃了。 logcat并不是非常有用,因为它没有说明java文件中的错误位置。这里是logcat和java文件

05-04 10:18:35.769 7777-7777/com.cssdecisions.cssSA E/AndroidRuntime: FATAL EXCEPTION: main
                                                                      Process: com.cssdecisions.cssSA, PID: 7777
                                                                      java.lang.NullPointerException
                                                                          at android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5093)
                                                                          at android.view.View.sendAccessibilityEventUnchecked(View.java:5074)
                                                                          at android.view.View$SendViewStateChangedAccessibilityEvent.run(View.java:19968)
                                                                          at android.os.Handler.handleCallback(Handler.java:808)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:103)
                                                                          at android.os.Looper.loop(Looper.java:193)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5388)
                                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                                          at java.lang.reflect.Method.invoke(Method.java:515)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
                                                                          at dalvik.system.NativeStart.main(Native Method)

对于主菜单java文件,我不能在这里显示它超过30000行。所以我只是给这个文件的链接。

https://drive.google.com/open?id=0B0c-aT9S66HkejRTU290bzk2eDQ

提前感谢您抽出宝贵时间提供帮助。

更新 - 堆栈跟踪图片

给出了堆栈跟踪错误:

http://imagizer.imageshack.us/a/img922/5973/6KbwEq.png

另一个更新

该应用程序在另一部手机上测试,三星注意事项3.它就像一个魅力。但它仍无法在联想s650和s920上运行。仍然无法找出问题所在。

2 个答案:

答案 0 :(得分:0)

尝试从UpgradeVersion Android Support Library 23.0.1 23.3.0。{/ p>

答案 1 :(得分:0)

我找到了所有这一切的罪魁祸首。如果您要下载我通过链接提供的源代码,您会发现: -

parameter = new String[4];
parameter[0] = dbHelper.getCultureText("WORKORDER");
parameter[1] = dbHelper.getCultureText("REDHDCSE");
parameter[2] = dbHelper.getCultureText("PURCHASEAPPROVAL");
parameter[3] = dbHelper.getCultureText("MESSAGE");

此代码稍后会在代码中初始化多个线性布局的数量和名称,因此parameter[0]将进入linear1.addChild(0),依此类推。所以这里我们有4行,并且在代码的后面继续,这些是: -

badgeTask = new BadgeView(MainMenuActivity.this, linear1.getChildAt(0));
badgeLeave = new BadgeView(MainMenuActivity.this, linear1.getChildAt(1));
badgeSales = new BadgeView(MainMenuActivity.this, linear1.getChildAt(2));
badgePurchase = new BadgeView(MainMenuActivity.this, linear1.getChildAt(3));
badgeMessage = new BadgeView(MainMenuActivity.this, linear1.getChildAt(4));

只要在数据库中插入新数据,这些badgeView就会弹出。所以你可以看到: -

badgeMessage = new BadgeView(MainMenuActivity.this, linear1.getChildAt(4));

badgeMes​​sage正在查找父linearLayout中第5个位置的子节点,该节点不可用,因为我们拥有的子节点数仅为4.这就是问题所在的位置。但话说回来,困扰我为什么没有堆栈跟踪将问题指向那里?

但话又说回来,谢谢那些帮助过的人。对不起,如果这花费了你太多的时间。