私の Android プロジェクトは 3 つのライブラリに依存しています。そのうちの 1 つ ( A ) には要件がなく、そのうちの 2 つ ( B、C ) はフラグメントのために support-v4 ライブラリが必要です。プロジェクト自体にも support-v4 ライブラリが必要です。プロジェクトとライブラリのビルド ターゲットは Android 2.2 (API 8) です。すべての android-support-v4.jar ライブラリは同じビルドとバージョンです。
ライブラリAを追加すると、そのR.javaがプロジェクトのgenフォルダーに生成されます。しかし、ライブラリBまたはCを追加すると、それらのR.javaは生成されず、AのR.javaでさえプロジェクトのgenフォルダーから削除されます。
それ自体が support-v4 ライブラリを必要とするライブラリを含める方法はありますか? コードをプロジェクトにコピーする以外は、ライブラリとして含めないでください。
アップデート:
問題が見つかりました。問題は、ライブラリ B と C の両方がマニフェストで同じパッケージ名を使用していたことです。1 つのライブラリのパッケージ名を変更すると、すべての R.java が表示されました。
どちらも com.android.app クラスを拡張するため、私の libs パッケージは eu.anycode.android.app でした。しかし、それらの 1 つだけが必要なプロジェクトがあり、未使用のコードを最終的な APK に含めたくないため、それらをまとめて保持する必要がないため、それらを 1 つのライブラリに入れたくありません。
私の別の質問は、異なるライブラリに同じパッケージ名を使用できるように設定できるかどうかです。
-- マーティン