diff --git a/jre_emul/android/libcore/luni/src/main/java/java/lang/reflect/Proxy.java b/jre_emul/android/libcore/luni/src/main/java/java/lang/reflect/Proxy.java index 0952dde403..8a8ad3501b 100644 --- a/jre_emul/android/libcore/luni/src/main/java/java/lang/reflect/Proxy.java +++ b/jre_emul/android/libcore/luni/src/main/java/java/lang/reflect/Proxy.java @@ -346,9 +346,12 @@ private static native Class generateProxy(String name, Class[] interfaces, id javaResult = [handler_ invokeWithId:self withJavaLangReflectMethod:method withNSObjectArray:args]; - J2ObjcRawValue result; - [[method getReturnType] unboxValue:javaResult toRawValue:&result]; - [anInvocation setReturnValue:&result]; + IOSClass *returnType = [method getReturnType]; + if (returnType != [IOSClass voidClass]) { + J2ObjcRawValue result; + [[method getReturnType] unboxValue:javaResult toRawValue:&result]; + [anInvocation setReturnValue:&result]; + } return; // success! } }