我有一个包含多个模块的 Android 项目。这些都是 Git 子模块,其中有几个是用相同的 jar 打包的(android support v4、Guice、Roboguice 等)。我的主项目也有这些相同的依赖项,所以我有这些 jar 的三个副本,一个在我的项目中,一个在两个子模块中的每一个中。
当我构建时,它在 dex 阶段失败,抱怨已经添加了某些类。我可以解决这个问题,通过从所有模块中删除 jars,除了一个,然后将依赖项指向那个位置,但感觉很脏。一定有更好的方法。有什么建议么?
我有一个包含多个模块的 Android 项目。这些都是 Git 子模块,其中有几个是用相同的 jar 打包的(android support v4、Guice、Roboguice 等)。我的主项目也有这些相同的依赖项,所以我有这些 jar 的三个副本,一个在我的项目中,一个在两个子模块中的每一个中。
当我构建时,它在 dex 阶段失败,抱怨已经添加了某些类。我可以解决这个问题,通过从所有模块中删除 jars,除了一个,然后将依赖项指向那个位置,但感觉很脏。一定有更好的方法。有什么建议么?
使用像 Maven 或 Ivy 这样的构建工具来为您管理依赖项,因此您不必将 JAR 签入您的项目。
你在使用 Eclipse ADT 吗?如果是这样,这个问题已经用最新的 ADT 解决了。旧的曾经有你描述的问题,但新的应该可以工作。查看此链接了解详情: http ://tools.android.com/recent/dealingwithdependenciesinandroidprojects