我是Eclipse,Java和Android编程的新手。我已经接管了Android应用程序的开发。几个月前有人做了一个更改,导致应用程序在不属于应用程序代码的代码中崩溃(异常)。我不知道项目的哪个部分或哪个部分被更改导致崩溃。当应用程序在Android设备上运行时,我逐步执行代码,但异常发生在不属于应用程序且我没有源代码的代码中。
我正在寻找帮助解决此问题的后续步骤。我可以做些什么?
Thread [<1> main] (Suspended (exception UnsupportedOperationException))
<VM does not provide monitor information>
Choreographer.doCallbacks(int, long) line: 616
Choreographer.doFrame(long, int) line: 583
Choreographer$FrameDisplayEventReceiver.run() line: 799
Handler.handleCallback(Message) line: 733
Choreographer$FrameHandler(Handler).dispatchMessage(Message) line: 95
Looper.loop() line: 146
ActivityThread.main(String[]) line: 5756
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 515
ZygoteInit$MethodAndArgsCaller.run() line: 1291
ZygoteInit.main(String[]) line: 1107
NativeStart.main(String[]) line: not available [native method]
Thread [<1> main] (Suspended (exception UnsupportedOperationException))
<VM does not provide monitor information>
ZygoteInit$MethodAndArgsCaller.run() line: 1297
ZygoteInit.main(String[]) line: 1107
NativeStart.main(String[]) line: not available [native method]
答案 0 :(得分:0)
我在Android设备上运行应用程序时逐步执行代码,但异常发生在不属于应用程序的代码中
正如您所做的那样,在调试器中逐行逐步执行应用程序代码,直到您到达抛出异常之前运行的最后一行。
在这一行上,您将找到对某个外部库的调用。你说你没有这个库的来源。这是不幸的,但这不是结束。
最简单的后续步骤来自于意识到您的异常很可能是由两件事之一引起的:
1)您正在以不被设计使用的方式使用外部库。例如,向它提供一些不良数据,不按顺序使用其功能,或者只是以错误的方式。阅读文档并尝试了解这是否是问题所在。如果没有文件,那么......欢迎来到地狱。
2)您对外部图书馆的电话服从合同并且是正确的。如果是这种情况,库本身可能存在错误。根据库,请查阅文档或任何在线社区网站,以验证是否已知该特定错误,是否存在解决方法,或者您是否遇到问题。
找出这两件事中的哪一件,然后决定如何继续前进。它可能正在改变您的代码,它可能正在改变您使用的库,它可能是两者的某种组合。没有任何更多的细节,这是不可能的。祝你好运!