【问题标题】:Android - Junit - Tested project uses external JarAndroid - Junit - 测试项目使用外部 Jar
【发布时间】:2010-10-12 12:09:21
【问题描述】:

我在一个库项目 (LIB) 中有一些 java 代码(可以很好地为 Android 编译),我想在另一个 Android 项目 (A) 中使用它。

由于 LIB 的代码不太可能发生太大变化,我选择将其作为 jar 添加到 A。它工作正常。

我有另一个项目,它是一个 Android 检测项目,正在测试第一个 Android 项目 (B)。

所以我们现在拥有的是 A,包括作为外部 jar 的 LIB,以及 B 测试 A。

当我想从用 LIB 编写的 B 代码访问时,问题就开始了。 据我所知,除非我将LIB作为外部jar添加到B中,否则它会拒绝编译(即它无法访问A中包含的LIB jar中的代码)。

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

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

我找到了Mike's question,但他的解决方案只涉及使用 ant 脚本编译,我目前更喜欢在这个项目中使用 Eclipse IDE。

知道如何解决这个问题吗?

【问题讨论】:

  • 通过关注This blog post解决。看来我应该从 A 导出 LIB,以便从 B 访问它。
  • 这有帮助。我从主项目中导出了android依赖项(jar在libs文件夹中,所以无法直接导出),在测试项目中也不得不检查主项目。现在可以了。

标签: android junit jar instrumentation


【解决方案1】:

(为了从“未回答”过滤器中删除此问题...)

这里概述了解决方案:

Android Testing: External libraries

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

【讨论】:

  • 我最初回答了我的问题,但我的回答被 StackOverflow 系统中的某个人转换为评论,为我提供了常见问题解答的链接。我想这个信息是我的答案不构成正确的答案,因为它主要是对外部链接的引用。
  • 嗯。很公平。我理解他们的逻辑,但前提是系统还允许同时从“未回答”过滤器中删除此类问题。否则,它将永远处于边缘。 :-/
猜你喜欢
  • 1970-01-01
  • 2013-06-17
  • 2010-11-23
  • 2012-04-24
  • 1970-01-01
  • 2013-01-10
  • 2015-05-22
  • 2012-05-03
  • 1970-01-01
相关资源
最近更新 更多