0

アプリといくつかのライブラリ プロジェクトで構成される大規模なプロジェクトがあります。ライブラリ プロジェクトには、次のようにライブラリ プロジェクトから参照されるレイアウト、文字列値などのリソースが定義されています。

setContentView(R.layout.main);

ただし、ADT の最近の更新後、これは機能しなくなりました。すべてのリソース ID がアプリの R.java に "マージ" されるため (ライブラリには存在しなくなります)、"R" をアプリに解決する必要があります。

実行中のパッケージを参照することでリソースにアクセスできますが、これは常にそのまま機能しているため、直感に反するようです。

何か不足していますか?これらを解決するときに「ライブラリの代わりにアプリケーションレベルのリソースを使用する」というコンパイラに指定する設定はありますか?

更新: この記事では、私の問題について説明します。私の場合、すべてのリソース ID が個別のクラス ファイルではなく、1 つの共通の R.java にまとめられているため、上記のように呼び出し可能である可能性があります。

ADT 21.0.1 を使用しています

4

1 に答える 1

0

いくつかのクリーンアップと再構築の後、2 つのサポート ライブラリの名前空間が同じであることに気付きました。これは合法的なはずですが、そのうちの 1 つを変更し、再構築してリソースを適切に構築しました。

于 2013-02-04T15:12:15.553 に答える