2011-05-27 70 views
6

我已经从我的应用程序中提取了一堆功能放入库中。问题是我想在生产代码和测试中使用库类。问题是我的应用程序,我的库和测试代码是独立的模块,因此应用程序代码和测试代码都需要依赖库。当我尝试编译测试模块,我得到以下错误:如何导入Android库并将其用于生产代码和测试?

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: (some class) 

它的神秘,但它要表达的意思,我试过同一类添加到.dex文件不止一次。这并不令人感到意外,因为测试代码在编译时依赖于库代码和应用程​​序,这也取决于编译时的库。如何设置我的依赖关系(或更改我的代码)以避免这种情况?

注:我使用的IntelliJ IDEA 10.5 CE,所以我用他们的术语,但我认为这个问题是至少在概念上IDE无关。

回答

0

嗨,我觉得同一个jar被添加多次使用不同的方式。

没有把罐子在您的项目

Right on Project->Properties->Java Build Path->Add Jars-> 
Right on Project->Properties->Java Build Path->Add External jars-> 

首先删除所有罐子的两种方式。在你的应用程序文件夹里面创建一个文件夹,里面放置所有需要的jar

Right on Project->Properties->Java Build Path->Add Jars-> select your project folder and select the jar file 

感谢 迪帕克

+0

感谢您的回复,Deepak。我的问题稍有不同,因为我的图书馆不是一个简单的.jar。这是一个Android库项目,所以我将它作为一个单独的模块导入并添加了一个模块依赖项。 – Lyudmil 2011-05-27 14:25:32

2

这是在IDEA的错误,我们已经提交了一个问题吧,please watch/vote

+0

非常感谢。当它解决了,我会接受你的答案。 – Lyudmil 2011-05-27 18:52:31

相关问题