239

複数のライブラリ プロジェクトを参照しているかなり大きな Android アプリ プロジェクトがあります。Eclipse ADT プラグインを最新バージョン (v22) にアップグレードするまで、すべて問題ありませんでした。もちろん、SDKもアップグレードしました。Eclipse でコンパイル エラーは表示されませんが、電話でプロジェクトを実行すると、NoClassDefFoundError が発生します。

java.lang.NoClassDefFoundError: org.acra.ACRA
....

アルカ ライブラリは、参照されているライブラリ プロジェクトの 1 つ (libs フォルダー内) に含まれており、パッケージ エクスプローラーの "Android Private Libraries" で確認できます。コンパイル エラーはありません。プロジェクトは、ADT をアップグレードしていない他のすべてのコンピューターで正常に実行されます。

私はすでに以下を含むがこれらに限定されないものをたくさん試しました:

  • Android SDK を再インストールする
  • 新しい ADT バンドルをダウンロードする
  • すべてのコードを削除し、git から再度取得します
  • 問題のライブラリをアプリ プロジェクトにコピーします
  • このライブラリを使用するコードをコメントアウトします - 次のライブラリでも同じエラーが発生します

すべてが成功していないので、ここで本当に必死になっています。

誰かがその問題を解決する方法のヒントを教えてくれたら、本当に嬉しいです.

4

7 に答える 7

337

彼の adt-dev 投稿からボストンの街を引用します。

アップグレード時に、新しい「Android Private Libraries」の「Order and Export」が常にチェックされるわけではありません。android-support-v4.jar は、この「Android Private Libraries」セクションにあります。

これを修正するには、[注文とエクスポート] に移動し、[Android プライベート ライブラリ] を確認してください。次に、リフレッシュ/クリーン/リビルドします。

ライブラリ プロジェクトに対してこの「修正」を行った後、この「修正」がすぐに表示されない可能性があるため、依存するプロジェクトを閉じて再度開く必要がある場合があります。

これを試してみると、運が良ければ問題が解決します。

ここに画像の説明を入力

于 2013-05-16T20:35:38.300 に答える
10

Android Private Libraries を確認するだけでは十分ではなく、Android SDK マネージャーに Android SDK Build-toolsをインストールする必要がありました。

于 2013-07-04T08:37:05.637 に答える
2

私は同様の問題を抱えていましたが、私の答えはCommonsWareのものとは少し異なります。これが私のスクリーンショットです:

ここに画像の説明を入力

私のビルドでライブラリをチェックした後、再び動作し始めました。

于 2013-06-13T22:07:42.070 に答える
0

私も同じ問題を抱えていましたが、

i) gson lib を参照ライブラリとして追加する
ii) Java Build Path で確認する http://i.stack.imgur.com/Gldhs.png

于 2013-07-16T08:59:06.637 に答える