Android-Junit测试项目使用外部Jar

Android-Junit测试项目使用外部Jar,android,junit,jar,instrumentation,Android,Junit,Jar,Instrumentation,我在一个库项目(LIB)中有一些java代码(为Android编译得很好),我想在另一个Android项目(a)中使用这些代码 由于LIB的代码不太可能有太大的变化,所以我选择将其作为jar添加到a中 我有另一个项目,是Android仪器项目,测试第一个Android项目(B) 所以我们现在拥有的是一个包含LIB作为外部jar的库,以及一个测试A的库 当我想从LIB中编写的B代码访问时,问题就开始了。 从我看到的情况来看,除非我将LIB作为外部jar添加到B中,否则它拒绝编译(也就是说,它无法访

我在一个库项目(LIB)中有一些java代码(为Android编译得很好),我想在另一个Android项目(a)中使用这些代码

由于LIB的代码不太可能有太大的变化,所以我选择将其作为jar添加到a中

我有另一个项目,是Android仪器项目,测试第一个Android项目(B)

所以我们现在拥有的是一个包含LIB作为外部jar的库,以及一个测试A的库

当我想从LIB中编写的B代码访问时,问题就开始了。 从我看到的情况来看,除非我将LIB作为外部jar添加到B中,否则它拒绝编译(也就是说,它无法访问包含在A中的LIB-jar中的代码)

我不愿意将LIB作为外部jar添加到B中,因为: 1.感觉不对,而且 2.运行测试时,它会失败,原因是:

java.lang.IllegalAccessError:预验证类中的类ref已解析为意外实现

我找到了,但他的解决方案只包括使用ant脚本进行编译,我目前更喜欢在这个项目中使用EclipseIDE

知道如何解决此问题吗?

(为了从“未回答”筛选器中删除此问题…)

解决方案概述如下:


库应该从A导出,以便从B访问。

通过以下方法解决。似乎我应该从A导出LIB,以便从B访问它。这很有帮助。我从主项目导出了android依赖项(jar位于libs文件夹中,因此无法直接导出),并且在测试项目中还必须检查主项目。我最初回答了我的问题,但我的回答被StackOverflow系统中的某个人转换成了评论,为我提供了一个faq链接。我想我的答案不是一个正确的答案,因为它主要是对外部链接的引用。很公平。我理解他们的逻辑,但前提是系统同时允许从“未回答”过滤器中删除此类问题。否则它将永远处于边缘-/