2012-04-27 59 views
0

我喜欢为我的项目使用ActionBarSherlock。 在这一天,我想让我的可重复代码库。如何在ADT中设置2个深度的android项目依赖关系?

目前,我已经建立,并用我的项目,该文件“在Eclipse管理项目与ADT” * 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 

因为通过依赖性关系设置,ADT显示重复类进口错误嵌入式ActionBarSherlock资源。

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

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

+0

将'ActionBarSherlock'作为库添加到'MyProjectX'中吗? – 2012-04-27 04:53:55

+0

您使用的是哪种Android SDK和ADT版本? – yorkw 2012-04-27 04:58:32

+0

我觉得这种情况很容易表达。 “图书馆项目能否依赖另一个图书馆项目?” – neocoin 2012-04-27 05:08:09

回答

0

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

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

这意味着你尝试有每一个项目引用两个库,不仅在顶层的一个。但是我认为正确的设置是这样的:

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

即只MyCommonComponent引用ActionBarSherlock和所有其他人引用刚刚MyCommonComponent

相关问题