谷歌开发者控制台,错误报告页面真的很奇怪。
看起来,我的应用程序在几台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()
方法未接受的值?
答案 0 :(得分:1)
您的项目引用了仅在API级别9中添加的java.util.Deque
(http://developer.android.com/reference/java/util/Deque.html)
API级别&lt;的设备9将失败,因为他们无法调用此类/方法,因为它们不存在。