僅在運行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。
當我通過Gradle輸出依賴項時,Objenesis被列在androidTestCompile的依賴樹中。真奇怪的是,這隻發生在Android API v19設備和更低版本上。 –