0

我喜欢在我的项目中使用 ActionBarSherlock。在这些日子里,我想让我的可重复代码库。

目前,我已经设置并使用了我的项目与这个文档'使用 ADT 从 Eclipse 管理项目' * http://developer.android.com/guide/developing/projects/projects-eclipse.html

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

  • 动作条夏洛克
    • 我的项目1
    • 我的项目2
    • 我的项目3

我想改变如下

  • ActionBarSherlock(是图书馆)
    • MyCommonComponent(是库)
      • 我的项目1
      • 我的项目2
      • 我的项目3

因为 MyProjectX 系列有几乎相同的代码依赖于 ActionBarSherlock。

所以我设置了。但是 ADT 显示一些错误。

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

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

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

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

我的意思是“一个图书馆项目可以依赖另一个图书馆项目吗?”

4

1 回答 1

0

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

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

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

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

即仅MyCommonComponent引用ActionBarSherlock,所有其他引用只是MyCommonComponent

于 2012-04-27T05:19:20.827 回答