複数のライブラリプロジェクトを参照しているかなり大きなAndroidアプリプロジェクトがあります。 Eclipse ADTプラグインを最新バージョン(v22)にアップグレードするまで、すべてが順調でした。もちろん、SDKもアップグレードしました。 Eclipseでコンパイルエラーは表示されませんが、電話でプロジェクトを実行すると、NoClassDefFoundErrorが発生します。
Java.lang.NoClassDefFoundError: org.acra.ACRA
....
アルカライブラリは、参照されているライブラリプロジェクト(libsフォルダー)の1つに含まれており、パッケージエクスプローラーの「Android Private Libraries」で確認できます。また、コンパイルエラーはありません。このプロジェクトは、ADTをアップグレードしなかった他のすべてのコンピューターで正常に実行されます。
私はすでに、次のものを含むがそれに限定されないものを全部試しました:
すべて成功しなかったので、ここで本当に必死になっています。
誰かがその問題を解決する方法についてのヒントを与えてくれたら本当にうれしいです。
his adt-dev post からボストンの街を引用
アップグレード時に、新しい「Android Private Libraries」の「Order and Export」が常にチェックされるとは限りません。そして、Android-support-v4.jarはこの「Android Private Libraries」セクションにあります。
これを修正するには、「注文とエクスポート」に進み、「Android Private Libraries」をチェックします。次に、更新/クリーン/再構築します。
ライブラリプロジェクトに対してこの '修正'を行った後、依存するプロジェクトをすぐに閉じて再度開く必要があります。なぜなら、彼らはこの '修正'をすぐに見ることができないからです。
これを試してみると、運が良ければ問題は解決します。
単にAndroidプライベートライブラリをチェックするだけでは不十分でした。また、Android SDK ManagerにAndroid SDK Build-toolsをインストールする必要がありました。
私は同様の問題に遭遇し、約3時間を費やしましたが、ここで提案された決定はどれも助けになりませんでした...最後に、問題の原因を見つけました。 Eclipseは、GUIでライブラリの依存関係の変更を行う際に、単に黙って無視しています。
私も同じ問題を抱えており、adt
は22.0.1
でした。そして、上記の解決策はどれもうまくいきませんでした。さらに、作業中のプロジェクトに外部ライブラリプロジェクトを追加する場合、作業中のプロジェクトのgen
フォルダを常に確認し、外部ライブラリプロジェクトのR
が(パッケージ名とともに)存在する場合、外部ライブラリプロジェクトのみがエクスポートされます。そして、私のgen
フォルダーには、外部ライブラリーのpackagename
が表示されませんでした。
そこで、project.properties
ファイルをチェックしましたが、Android.library.reference.1=
が存在する外部ライブラリリンクはありませんでした。そこで、project->properties->Java Build Path->Projects->Add
から追加したものの、そこに外部ライブラリ参照を手動で追加しました。したがって、project.properties
を手動で編集すると、すべての作業が完了しました。
同じ問題がありました。これは、Eclipseプロジェクトが原因でした。それを解決するために、Eclipseで新しいプロジェクトを作成し、既存のプロジェクトクラスとリソースをそこにコピーしてから、Eclipseを再度起動して、カスタムインクルードを追加しました。
私は同様の問題を抱えており、私の答えはCommonsWareのものとは少し異なります。これが私のスクリーンショットです。
ビルドでライブラリを確認した後、再び動作し始めました。
私も同じ問題を抱えていました
i)gson libをreferecendライブラリとして追加します
ii)Java Build Pathで確認します