1

それは本当に奇妙です、Google Developer Console、エラー報告ページ。

どうやら、私のアプリケーションは複数の 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/

単純に外部ライブラリをリンクするのではなく、ソース cod を含めました。

java.util.Deque.pushコードは( NoSuchMethodError )で失敗したようです。コピーして貼り付けたソース コードの問題ではありません。実行時に dequeue メソッドが見つからないようです。それはどのように可能ですか?想像できません。

編集: Dequeは次のように定義されています:

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

問題を引き起こすコード:

matrixStack.push(new Matrix());

メソッドnew Matrix()によって受け入れられない値を返す可能性はありますか?push()

4

1 に答える 1

1

java.util.DequeAPI レベル 9 でのみ追加されたプロジェクト参照

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

API レベルが 9 未満のデバイスは、このクラス/メソッドが存在しないため呼び出すことができないため、失敗します。

于 2013-06-10T08:31:24.277 に答える