【发布时间】: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