我刚刚改变了我的 Android 项目的构建方式,我的单元测试不再工作......我收到类似
的错误WARN/dalvikvm(575): VFY: unable to resolve static field X in .....
WARN/dalvikvm(575): VFY: unable to find class referenced in signature
这些错误仅来 self 的单元测试,其中定义的类甚至看不到单元测试中定义的其他类。
之前每个项目都有自己的目录,其中包含第 3 方 jar 文件的副本。我读到过 Dex 对引用做了一些奇怪的事情,但一直无法弄清楚如何解决这个问题。有一个更好的方法吗?我很想看到一个大型 Android 工作区的示例,其中有多个项目、jar 引用等...
是否可以通过调整订单/导出来解决此问题?
项目结构如下:
- Eclipse 工作区(PROJECT_HOME 类路径变量)
- 库
- 第 3 方 jar
- android.jar
- Java 项目 A
- 查看 PROJECT_HOME
- Java 项目 B
- 查看 PROJECT_HOME
- 取决于项目A
- 安卓项目
- 取决于 A 和 B
- 查看 PROJECT_HOME
- Android 测试项目
- 依赖于 A , B, Android 项目
- 查看 PROJECT_HOME
最佳答案
不要在测试项目中包含第 3 方 jar。在被测项目中导出即可:项目属性->java构建路径->排序并导出。完成此操作后,您就可以进行清洁了,它应该可以正常工作。
关于Android单元测试——解决&验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403691/