Eclipse を使用して複数の Android アプリケーション プロジェクト間で共有する Android ライブラリ (Java コード) があります。過去に作成したアプリケーション プロジェクトでは、Android ライブラリを参照して実行時に問題なく使用できます。しかし今では、ライブラリへの参照を使用して作成した新しい Android アプリケーション プロジェクトでは、実行時にライブラリ内のクラスを参照するたびに ClassDefNotFoundErrors が発生します。
これは Android ライブラリのみの問題です。一般的な Java ライブラリについては、新しい Android アプリケーション プロジェクトから問題なく参照できます。
dex2jar を使用すると、アプリケーションの classes.dex ファイルにライブラリのクラスが存在しないことがわかりました。すべてが機能する古いアプリケーション プロジェクトの場合、ライブラリのクラスはclasses.dex に存在します。
作業ケースのアプリと非作業ケースのアプリの両方が、ディスク上の同じ Eclipse プロジェクトを参照していることに注意してください。したがって、問題はライブラリのEclipseプロジェクトではなく、アプリケーションのEclipseプロジェクトにあります。
誰かが私が間違っているかもしれないことを教えてもらえますか? または、より一般的には、Eclipse が Android アプリケーションの classes.dex を作成するプロセスをデバッグする方法を教えてください。
これは、私の「testlib」Android ライブラリ プロジェクトを参照するアプリケーション プロジェクトのスクリーンショットです。参照をリストの上下に移動したり、チェックボックスをオンにしたりしてみました。
ありがとう、デイブ