| Index: src/com/google/testing/littlemock/LittleMock.java |
| =================================================================== |
| --- src/com/google/testing/littlemock/LittleMock.java (revision 19) |
| +++ src/com/google/testing/littlemock/LittleMock.java (working copy) |
| @@ -1268,6 +1268,17 @@ |
| newInstance.setAccessible(true); |
| return (T) newInstance.invoke(null, clazz, constructorId); |
| } catch (Exception ignored) {} |
| + // try dalvikvm, with change https://android-review.googlesource.com/#/c/52331/ |
| + try { |
| + Method getConstructorId = ObjectStreamClass.class |
| + .getDeclaredMethod("getConstructorId", Class.class); |
| + getConstructorId.setAccessible(true); |
| + final long constructorId = (Long) getConstructorId.invoke(null, Object.class); |
| + final Method newInstance = ObjectStreamClass.class |
| + .getDeclaredMethod("newInstance", Class.class, long.class); |
| + newInstance.setAccessible(true); |
| + return (T) newInstance.invoke(null, clazz, constructorId); |
| + } catch (Exception ignored) {} |
| throw new IllegalStateException("unsafe create instance failed"); |
| } |
| |