使用本地lib而不是nexus one

时间:2015-06-02 12:11:16

标签: android gradle android-gradle

使用gradle构建Android项目。库com.test.x是从nexus获取的。在开发过程中,我想用一个覆盖nexus lib,我把它放在libs文件夹中。

在gradle构建文件中:

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.test:com.test.x:version'

我得到的错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.test.dex.DexException: Multiple dex files define Lcom/test/x/...;

似乎存在问题,因为lib现在是项目的两倍?怎么解决这个问题?或者还有另一种解决问题的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以将ng-disable用于本地副本,将debugCompile用于工件,以将依赖关系绑定到构建类型。

例如,我在我的许多CWAC库中都这样做,但在我的情况下,它是我的演示应用所依赖的库模块,而不是JAR:

releaseCompile

根据构建类型(dependencies { debugCompile project(':provider') releaseCompile 'com.commonsware.cwac:provider:0.2.+' } debug),只有其中一个依赖项将用于构建。