1

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

看起来,我的应用程序在几个 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.pushNoSuchMethodError)。不是我复制粘贴的源代码的问题,运行时好像没有找到dequeue方法!怎么可能?无法想象。

编辑: 双端队列定义:

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

引发问题的代码:

matrixStack.push(new Matrix());

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

4

1 回答 1

1

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

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

API 级别 < 9 的设备将失败,因为它们无法调用该类/方法,因为它们不存在该类/方法。

于 2013-06-10T08:31:24.277 回答