私は次のことをしました:
- Eclipse で作業用の Android プロジェクト (ライブラリーやテスト プロジェクトではない) を作成します。アクティビティ XA を持つ X という単一のパッケージがあります。
- 少なくとも 1 つのクラス YC を使用して、前述のプロジェクト内に新しい Java パッケージ Y を作成します。
- XA 内から YC を呼び出します (つまり、以前に機能していた元のパッケージから新しいパッケージ内の何かを呼び出します)。
- Android プロジェクトをビルドして実行します。
正常にビルドされますが、YC を使用する最初の行で NoClassDefFoundError がスローされ、YC が見つからないというメッセージが表示されます。リファクタリング -> YC をパッケージ X に移動 (現在は XC) すると、ランタイム例外はスローされなくなりました。どうしたの?
あいまいなヒント: ビルド時と実行時のクラスパスが何らかの形で同期しなくなったときに同様の問題が発生する可能性があることを読みましたが、問題をトラブルシューティングまたは修正する方法をまだ見つけていません。