現在、動作する ActionBarSherlock、Crouton、および UnifiedPreference を使用しているプロジェクトがあります (Android 2.3.3 以降のデバイスおよびエミュレーターでコンパイル、問題なく実行されます)。HoloEverywhere を追加して、Gingerbread デバイスで実行するときに統一されたインターフェイスを維持できるようにしたいと考えています。HoloEverywhere をミックスに追加すると、次の AAPT エラーが発生します。
[2012-12-14 12:47:04 - MyApp] C:\git\myrepo\UnifiedPreference\library\res\values\atrs.xml:7: error: Attribute "id" has already been defined
[2012-12-14 12:47:04 - MyApp] C:\git\myrepo\UnifiedPreference\library\res\values\atrs.xml:11: error: Attribute "summary" has already been defined
[2012-12-14 12:47:04 - MyApp] C:\git\myrepo\UnifiedPreference\library\res\values\atrs.xml:13: error: Attribute "breadCrumbTitle" has already been defined
[2012-12-14 12:47:04 - MyApp] C:\git\myrepo\UnifiedPreference\library\res\values\atrs.xml:15: error: Attribute "breadCrumbShortTitle" has already been defined
[2012-12-14 12:47:04 - MyApp] C:\git\myrepo\UnifiedPreference\library\res\values\atrs.xml:19: error: Attribute "fragment" has already been defined
AAPT エラーは、Android ライブラリの依存関係リストで最初にあるライブラリ プロジェクト(UnifiedPreference または HoloEverywhere) を参照します。問題のある属性はすべて、<declare-styleable name="PreferenceHeader">
現在の Android 依存関係の順序と構造の一部として定義されていることも発見しました。
MyApp
ActionBarSherlock
HoloEverywhere
UnifiedPreference
Crouton
HoloEverywhere
ActionBarSherlock
UnifiedPreference
ActionBarSherlock
Crouton
HoloEverywhere と UnifiedPreference の順序を変更し、一方から ActionBarSherlock を削除して他方に依存させようとしましたが、もう一度 git から引き下げようとしました。
どちらも同じ名前の属性を持っているため、UnifiedPreference と HoloEverywhere をうまく連携させる方法を知っている人はいますか?