Android 有ActionBarCompat的图书馆项目和有HoloEverywhere的应用程序,他们能住在一起吗?

Android 有ActionBarCompat的图书馆项目和有HoloEverywhere的应用程序,他们能住在一起吗?,android,android-library,android-holo-everywhere,android-actionbar-compat,Android,Android Library,Android Holo Everywhere,Android Actionbar Compat,我正在开发一个应用程序,它使用流行的HoloEverywhere库使用ActionBarCompat并在3.0之前的设备中获得Holo视觉风格。它工作得非常好 现在我需要在我的应用程序中集成一个第三方库项目,但我面临一个大问题。此库正在使用v7 AppCompat库在其活动中使用ActionBarCompat,这会在我的应用程序中导致许多错误 HoloEverywhere包含一个定制的ActionBarCompat(afaik他们接受了谷歌的ActionBarCompat并进行了修改),这与我想

我正在开发一个应用程序,它使用流行的HoloEverywhere库使用ActionBarCompat并在3.0之前的设备中获得Holo视觉风格。它工作得非常好

现在我需要在我的应用程序中集成一个第三方库项目,但我面临一个大问题。此库正在使用v7 AppCompat库在其活动中使用ActionBarCompat,这会在我的应用程序中导致许多错误

HoloEverywhere包含一个定制的ActionBarCompat(afaik他们接受了谷歌的ActionBarCompat并进行了修改),这与我想要集成的第三方库中使用的ActionBarCompat存在冲突。我在重新声明的样式(与v7 AppCompat和HoloEverywhere中声明的样式相同)、重新声明的类(与以前的情况相同)方面遇到问题,我无法想出任何解决方案

有什么想法或者我应该放弃吗?

选项1:

您可以尝试将HoloEverywhere使用的AppCompat替换为其他第三方库中使用的AppCompat

大致包括:

1) 获取库和修改后的appCompat的源代码,并将其全部拉入eclipse

2) 在eclipse中,将修改后的app compat Jar交换到其他第三方构建路径中,并修改依赖项等。对于他们正在使用的那个,去掉普通的app compat

3) 解决可能发生的所有冲突

问题:

1) 你不知道他们做了什么奇怪的事情,甚至比AppCompat还要低级。他们修改后的AppCompat可能完全依赖于您不知道的其他东西

2) 解决所有的错误可能需要一段可怕的地狱般的时间

3) 这可能需要很长时间才能完成,而且可能不值得付出努力

4) 您需要熟悉依赖关系管理

备选案文2:

使用maven或其他外部构建管理器构建项目,该管理器允许您排除库的部分。我知道在过去,我不得不从依赖于层次结构中不同版本的库中排除依赖关系树的部分,并且您可能(这是一个很大的可能性)能够使用这种机制来解决这个问题

这是完全可以做到的,但可能是一个皮塔完全取决于谁做了什么,在哪里,何时,如何和…诸如此类

另一个选择是决定哪个库更重要。全方位全息真的需要吗?或者你能用一些替代的用户界面来满足这个用户群吗?这个第三方图书馆真的是nescesary吗?你能用别的方法解决那个问题吗

最后—虽然这不是一件可怕的事情,也不是我想说的你永远不应该做的事情,但如果你使用修改过的AppCompat或任何其他分叉库,你很可能会再次遇到这个问题