我从我的应用程序中提取了一堆功能到一个库中。问题在于我希望在生产代码和测试中都使用该库的类。问题是我的应用程序、我的库和测试代码是独立的模块,所以应用程序代码和测试代码都需要依赖于该库。当我尝试编译测试模块时,我会得到以下错误:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: (some class)
这段话有点神秘,但其实是在说我尝试将相同的类添加到
.dex
文件中超过一次。这并不太令人惊讶,因为测试代码在编译时依赖于库代码和应用程序,而应用程序在编译时也依赖于库。如何设置依赖项(或更改代码)以避免这种情况?注意:我使用的是 IntelliJ IDEA 10.5 CE,所以我使用他们的术语,但我认为问题至少在概念上与 IDE 无关。