0

複数のプロジェクト(メインまたはライブラリ)が同じリソースを定義している場合にAndroidライブラリを使用すると、優先度の高いプロジェクトのコピーが使用され、前のプロジェクトが置き換えられます。

これは、競合を避けるためにすべてのリソース名にプレフィックスを付ける必要があるため、再利用可能なライブラリを作成するときに問題になります。このトピックの詳細については、 AndroidParcelProjectを参照してください。

ここで私がやりたいのは、コンパイルの前に、すべてのライブラリのすべてのリソースの名前にパッケージ名のプレフィックスを付けるスクリプトです。このために、生成されたantビルドスクリプトを使用して、それにカスタムステップを追加するつもりです。

それが可能かどうか知っていますか?この問題を解決するためのより良い解決策がありますか?

4

1 に答える 1

1

それが可能かどうか知っていますか?

ライブラリのソースコードがあれば、これができると思います。リソースIDを動的に参照する場所(リフレクションgetIdentifier()など)は、手動で調整する必要があると思います。また、コードを変更した場合、ライブラリの作成者から支援を受けることができない場合があります。

また、ライブラリの作成者に、ライブラリの将来のエディションにリソースプレフィックスを追加するように説得することにも取り組んでいます。

于 2011-08-07T10:54:27.610 に答える