我喜欢在我的项目中使用ActionBarSherlock。 在这一天,我想将可重复的代码编写到库中。
目前,我已经设置并使用我的项目“使用ADT管理Eclipse项目” * http://developer.android.com/guide/developing/projects/projects-eclipse.html
在这个时候,我的项目有这些依赖关系。
我想改变如下
因为MyProjectX系列的代码几乎与ActionBarSherlock相同。
所以我成立了。但ADT显示出一些错误。
如果我打开MyCommonComponent的库选项, ADT在MyProject1编译时显示此错误。
java.lang.IllegalArgumentException: already added: Lcom/actionbarsherlock/R
由于通过依赖项设置嵌入了ActionBarSherlock资源,ADT显示重复类导入错误。
你对这种情况有什么解决方案吗?
我的意思是“图书馆项目能否依赖于另一个图书馆项目?”
答案 0 :(得分:0)
我认为您的问题是您对库的引用不正确。如果我找到你,你当前的项目设置是这样的:
ActionBarSherlock (is Library)
| MyCommonComponent (is Library)
|---|----MyProject1
|---|----MyProject2
|---|----MyProject3
这意味着您尝试让每个项目引用两个库,而不仅仅是顶层的库。不过我认为正确的设置如下:
ActionBarSherlock (is Library)
|----MyCommonComponent (is Library)
|---MyProject1
|---MyProject2
|---MyProject3
仅MyCommonComponent
引用ActionBarSherlock
,而所有其他人仅引用MyCommonComponent
。