2011-08-09 6 views

答えて

3

残念ながら、あなたはできません。 Android Librariesが役立つかもしれないと思うかもしれませんが、そうではありません。これは、Androidライブラリがリソースのコンパイル時にメインアプリケーションに「物理的に」マージされるためです。

したがって、aaptから、アプリケーションのリソースは他のAndroidライブラリのリソースと区別できません。さらに、aaptは複数のリソースディレクトリを入力として受け取ります(つまり、アプリケーションの場合はresへのパス、リファレンスのAndroidライブラリのすべてのresディレクトリへのパス)。同時に、アプリケーションからの単一のAndroidManifest.xmlがこれらのリソースの「所有者」として渡されます。

リソース(スタイルなど)を別々のAndroidライブラリに論理的にグループ化することはできますが、これらのAndroidライブラリのパッケージ名を使用してリソースを参照することはできません。メインアプリケーションのパッケージ名のみを使用します。


はたとえば、パッケージ名com.test.appcom.test.libとAndroidのライブラリを使用してアプリケーションを持っています。ライブラリにはスタイルtestStyleが含まれています。

次が動作しない(そして、あなたがこの問題を回避するために助けることができるものは何も理論的にはありません):

<TextView style="@com.test.lib:style/testStyle" .../> 

これが正常に動作している間:

<TextView style="@com.test.app:style/testStyle" .../> 
関連する問題