2017-03-02 65 views
0

僅在運行API v19的模擬器上進行檢測測試期間,我收到以下崩潰。如果我在新版本上運行一切正常。Android API上的NoClassDefFoundError ObjenesisStd 19

03-01 20:26:18.781 2878-2878/? E/MonitoringInstrumentation: Exception encountered by: Thread[main,5,main]. Dumping thread state to outputs and pining for the fjords. java.lang.NoClassDefFoundError: org.objenesis.ObjenesisStd at org.mockito.internal.creation.jmock.ClassImposterizer.(ClassImposterizer.java:36) at org.mockito.internal.creation.jmock.ClassImposterizer.(ClassImposterizer.java:29) at org.mockito.internal.util.MockCreationValidator.isTypeMockable(MockCreationValidator.java:17) at org.mockito.internal.util.MockCreationValidator.validateType(MockCreationValidator.java:21) at org.mockito.internal.creation.MockSettingsImpl.validatedSettings(MockSettingsImpl.java:133) at org.mockito.internal.creation.MockSettingsImpl.confirm(MockSettingsImpl.java:127) at org.mockito.internal.MockitoCore.mock(MockitoCore.java:50) at org.mockito.Mockito.mock(Mockito.java:1243) at org.mockito.Mockito.mock(Mockito.java:1120)

的問題是這一行:

java.lang.NoClassDefFoundError: org.objenesis.ObjenesisStd

我的應用程序是多DEX,和我使用dexmaker,爲的Mockito androidTestCompile。我完全喪失了爲什麼這隻會破壞一個較舊的API。當我向我的項目中添加另一個模塊時,它開始發生,這是一個純粹的Java模塊,不依賴於mockito。

回答

0

此異常(ClassNotFoundException的)告訴你一個未滿足依賴在運行時:JVM需要加載類;這是不存在於班級路徑中的。

這是Mockito,需要Objenesis。通常情況下,當你使用像maven這樣的系統時,應該自動拖動庫,並對Mockito給出正確的依賴關係。

+0

當我通過Gradle輸出依賴項時,Objenesis被列在androidTestCompile的依賴樹中。真奇怪的是,這隻發生在Android API v19設備和更低版本上。 –

相關問題