java.util.Deque.push上的异常java.lang.NoSuchMethodError

时间:2013-06-07 16:12:39

标签: java android exception svg queue

谷歌开发者控制台,错误报告页面真的很奇怪。

看起来,我的应用程序在几台Android设备上崩溃了。提供的异常日志说:

java.lang.NoSuchMethodError: java.util.Deque.push
at com.larvalabs.svgandroid.SVGParser$SVGHandler.<init>(SVGParser.java:869)
at com.larvalabs.svgandroid.SVGBuilder.build(SVGBuilder.java:147)
at myapp.graphic.PictureCache.getSvgPicture(PictureCache.java:59)
at myapp.graphic.PictureCache.getSvgPictureDrawable(PictureCache.java:65)
at myapp.activities.startup.ActivityStartup.setupCustomGraphic(ActivityStartup.java:92)
at myapp.activities.startup.ActivityStartup.onCreate(ActivityStartup.java:35)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
...

我正在使用该库:

http://code.google.com/p/svg-android-2/

我包含了源代码,而不是简单地链接外部库。

java.util.Deque.push NoSuchMethodError )上的代码似乎失败了。这不是我复制和粘贴的源代码的问题,似乎在运行时没有找到出列方法!怎么可能?无法想象。

修改 Deque定义:

Deque<Matrix> matrixStack = new LinkedList<Matrix>();

引发问题的代码:

matrixStack.push(new Matrix());

new Matrix()是否可能返回push()方法未接受的值?

1 个答案:

答案 0 :(得分:1)

您的项目引用了仅在API级别9中添加的java.util.Deque

http://developer.android.com/reference/java/util/Deque.html

API级别&lt;的设备9将失败,因为他们无法调用此类/方法,因为它们不存在。