Ich bekomme den folgenden Absturz während eines Instrumentierungstests NUR auf Emulatoren, die API v19 ausführen. Wenn ich auf neueren Versionen laufe, funktioniert alles einwandfrei.NoClassDefFoundError ObjenesisStd auf Android API 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)
Das Problem ist, diese Zeile:
java.lang.NoClassDefFoundError: org.objenesis.ObjenesisStd
Meine app ist Multi-dex, und ich bin mit dexmaker-Mockito für androidTestCompile. Ich habe einen kompletten Verlust, warum das nur bei einer älteren API passiert. Es begann, als ich meinem Projekt ein weiteres Modul hinzufügte, das ein reines Java-Modul ohne Abhängigkeit von Mockito ist.
Objenesis ist in der Abhängigkeitsbaumstruktur für androidTestCompile aufgeführt, wenn ich die Abhängigkeiten über Gradle ausgab. Was wirklich merkwürdig ist, ist, dass dies nur auf Geräten mit Android API Version 19 und niedriger passiert. –