アプリといくつかのライブラリ プロジェクトで構成される大規模なプロジェクトがあります。ライブラリ プロジェクトには、次のようにライブラリ プロジェクトから参照されるレイアウト、文字列値などのリソースが定義されています。
setContentView(R.layout.main);
ただし、ADT の最近の更新後、これは機能しなくなりました。すべてのリソース ID がアプリの R.java に "マージ" されるため (ライブラリには存在しなくなります)、"R" をアプリに解決する必要があります。
実行中のパッケージを参照することでリソースにアクセスできますが、これは常にそのまま機能しているため、直感に反するようです。
何か不足していますか?これらを解決するときに「ライブラリの代わりにアプリケーションレベルのリソースを使用する」というコンパイラに指定する設定はありますか?
更新: この記事では、私の問題について説明します。私の場合、すべてのリソース ID が個別のクラス ファイルではなく、1 つの共通の R.java にまとめられているため、上記のように呼び出し可能である可能性があります。
ADT 21.0.1 を使用しています