Это действительно странно, Google Developer Console, страница с сообщениями об ошибках.Исключение java.lang.NoSuchMethodError на java.util.Deque.push
Как представляется, мое приложение вылетает на нескольких устройствах 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! Как это возможно? Не представляю.
EDIT: Deque это определить:
Deque<Matrix> matrixStack = new LinkedList<Matrix>();
код, который поднимают проблему:
matrixStack.push(new Matrix());
Возможно ли, что new Matrix()
возвращает значение, которое не принято в push()
метод?
проверить, если вы обновили adt до rev 22? если это так, щелкните правой кнопкой мыши по пути создания проекта java, выберите вкладку экспорта заказа, убедитесь, что вы проверили частные библиотеки Android для вашего проекта и проекта Android. Это всего лишь предложение. – Raghunandan
Похоже, что java.util.Deque.push представлен на Java.6 и может быть недоступен в более старых версиях. Я предлагаю вам проверить среду времени выполнения на устройствах, где приложение не работает. –
@scubadiver Но подождите ... 'Deque' даже не присутствовал в Java 5, поэтому он должен завершиться неудачей с помощью java.lang.NoClassDefFoundError: java.util.Deque' на версиях старше, чем Java 6. Возможно, в библиотеке Android Java 6 или 7, но не содержит метода push. – gparyani