如何在ADT中设置2个深度android项目依赖项?

时间:2012-04-27 04:49:08

标签: android adt actionbarsherlock

我喜欢在我的项目中使用ActionBarSherlock。 在这一天,我想将可重复的代码编写到库中。

目前,我已经设置并使用我的项目“使用ADT管理Eclipse项目”  * http://developer.android.com/guide/developing/projects/projects-eclipse.html

在这个时候,我的项目有这些依赖关系。

  • ActionBarSherlock
    • MyProject1
    • MyProject2
    • MyProject3

我想改变如下

  • ActionBarSherlock(是图书馆)
    • MyCommonComponent(是图书馆)
      • MyProject1
      • MyProject2
      • MyProject3

因为MyProjectX系列的代码几乎与ActionBarSherlock相同。

所以我成立了。但ADT显示出一些错误。

如果我打开MyCommonComponent的库选项, ADT在MyProject1编译时显示此错误。

java.lang.IllegalArgumentException: already added: Lcom/actionbarsherlock/R

由于通过依赖项设置嵌入了ActionBarSherlock资源,ADT显示重复类导入错误。

你对这种情况有什么解决方案吗?

我的意思是“图书馆项目能否依赖于另一个图书馆项目?”

1 个答案:

答案 0 :(得分:0)

我认为您的问题是您对库的引用不正确。如果我找到你,你当前的项目设置是这样的:

ActionBarSherlock (is Library)
 |    MyCommonComponent (is Library)
 |---|----MyProject1
 |---|----MyProject2
 |---|----MyProject3

这意味着您尝试让每个项目引用两个库,而不仅仅是顶层的库。不过我认为正确的设置如下:

ActionBarSherlock (is Library)
 |----MyCommonComponent (is Library)
      |---MyProject1
      |---MyProject2
      |---MyProject3

MyCommonComponent引用ActionBarSherlock,而所有其他人仅引用MyCommonComponent