2012-02-10 9 views
0

Androidプロジェクトに外部ライブラリ(ksoap2)を追加しました。Android:一部のデバイスで、リンクライブラリのメソッドを呼び出すときにNoSuchMethodErrorが発生する

ほとんどの端末では正常に動作します(Android 2.3)。しかし、他の人たち(Android 2.3でも)は私が得ます

java.lang.NoSuchMethodError: org.ksoap2.serialization.SoapObject.getPropertyAsString 

このようなエラーの原因は何ですか?

答えて

1
1) There might be mulitple jars (native libraries) with same code, which may cause wrong class get loaded. 

2) Incompatable version of jar, the jar you have in classpath might be older version/newer version. 

あなたのケースでは、まずそれが最初であると思われます。私はそれが失敗しているデバイス上のネイティブライブラリの2つのバージョンがあると思います。

+0

この場合、APK .jarライブラリに組み込まれていてはなりませんか? – Evgenyt

+0

保証されません。クラスローダーによって異なります。 – kosa

+0

これは何らかの形で回避できますか?依存関係の正確なバージョン要件を設定する(私は.NET開発者、btwです)。 – Evgenyt

0

デバイスのJava実装に、ksoapライブラリが依存するjarが含まれていない可能性があります。 Android搭載デバイスは、ほとんどのJava SEをサポートしていますが、完全なJava SEをサポートしていないことに注意してください。

編集:おっと、私はちょうどそのようなメソッドエラーは、Soapパッケージにあったことを理解したので、私の説明は水を保持しません。 :-)

関連する問題