0

同様の質問がいくつかあることは知っていますが、解決策はありませんでした。プロジェクトグループから自己作成された.jar内の(既存の)クラスにアクセスしようとすると、java.lang.NoClassDefFoundErrorが発生します。

この.jarは、通常のjavaProjectでは正常に機能しますが、Androidでは機能しません。ただし、この.jarの古いバージョンはAndroidで正常に機能しました。

Eclipse + Android Development Tool-プラグイン(バージョン21)を使用して開発しています。.jarをProject_Home/libsフォルダーに配置しました。コンパイル時にエラーは発生しません。

例外がスローされる前に、「dalvikvm-クラスを見つけることができませんでした...から参照されました...」というエラーがいくつかありました。

私たちのプロジェクトグループが最近Java7を使い始めたため、Javaバージョンに問題がある可能性があると思いますが、それを修正する方法がわかりません。

どうもありがとうございました。

4

4 に答える 4

0

libの名前をlibsに変更し、ビルドパスを更新してから、再試行してください

于 2013-03-26T15:34:49.233 に答える
0
  1. クラスの名前が、Android内にすでに存在する名前と同じでないことを確認してください。パッケージをビルドする際、「最適化」のため、同じ名前のクラスは省略されます。

  2. Androidライブラリは主に1.5に対してコンパイルされています。すべてのライブラリがAndroid内に存在するわけではありません。パッケージは、システム内に存在しない他のライブラリに依存している可能性があります。

于 2013-03-26T15:56:47.860 に答える
0

プロジェクトが正常にコンパイルされている場合は、コピーまたはJavaビルドパスのエラーを除外できると思います。このエラーが発生するのは、コードのインポートが間違っている場合だけです。インポートを再確認して、R.javaファイルを再作成することをお勧めします。

于 2013-03-26T16:13:42.627 に答える
0

通常、私は自分の質問に答えたくありませんが、それが誰かに役立つことを願っています。
他の警告は表示されませんでした(Logcatにはなく、コンソールにありました):

「Dxbadclassfile magic(cafebabe)or version(0033.0000)」

私は他のStackoverflowの質問でこの警告を見つけました。動作しない.jarからHexEditorを使用してクラスファイルの1つを開き、Major-Version-Byteを0x32に変更すると、動作しました。クラスにJava7の機能が含まれている可能性があるため、これが解決策ではないことはわかっています。そのため、クラスファイルは機能しなくなりましたが、Javaバージョンに問題があったことがわかります。

于 2013-03-27T13:05:39.230 に答える