真奇怪,谷歌开发者控制台,报错页面。
看起来,我的应用程序在几个 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)。不是我复制粘贴的源代码的问题,运行时好像没有找到dequeue方法!怎么可能?无法想象。
编辑: 双端队列定义:
Deque<Matrix> matrixStack = new LinkedList<Matrix>();
引发问题的代码:
matrixStack.push(new Matrix());
是否有可能new Matrix()
返回该push()
方法不接受的值?