1

仅在运行 API v19 的模拟器上进行仪器测试时出现以下崩溃。如果我在较新的版本上运行一切正常。

03-01 20:26:18.781 2878-2878/? E/MonitoringInstrumentation:遇到异常:线程 [main,5,main]。将线程状态转储到输出并锁定峡湾。java.lang.NoClassDefFoundError:在 org.mockito.internal.creation.jmock.ClassImposterizer.(ClassImposterizer.java:36) 在 org.mockito.internal.creation.jmock.ClassImposterizer.(ClassImposterizer.java:29) 的 org.objenesis.ObjenesisStd ) 在 org.mockito.internal.util 的 org.mockito.internal.util.MockCreationValidator.isTypeMockable(MockCreationValidator.java:17)。

问题是这一行:

java.lang.NoClassDefFoundError: org.objenesis.ObjenesisStd

我的应用程序是多 dex,我正在使用 dexmaker-mockito 进行 androidTestCompile。我完全不知所措,为什么这只在较旧的 API 上中断。当我向我的项目中添加另一个模块时,它开始发生,这是一个不依赖于 mockito 的纯 java 模块。

4

1 回答 1

0

这个异常(ClassNotFoundException)告诉你运行时一个未满足的依赖关系:JVM 需要加载一个类;类路径中不存在。

这里是 Mockito 需要Objenesis。通常,当您使用像 maven 这样的系统并为 Mockito 提供正确的依赖关系时,应该自动提取该库。

于 2017-03-02T08:02:15.660 回答