diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp index b841076637d49..2874be48403e3 100644 --- a/core/jni/android_hardware_Camera.cpp +++ b/core/jni/android_hardware_Camera.cpp @@ -143,10 +143,7 @@ void JNICameraContext::copyAndPost(JNIEnv* env, const sp& dataPtr, int LOGE("Couldn't allocate byte array for JPEG data"); env->ExceptionClear(); } else { - jbyte *bytes = static_cast(env->GetPrimitiveArrayCritical(obj, NULL)); - memcpy(bytes, data, size); - env->ReleasePrimitiveArrayCritical(obj, bytes, 0); - + env->SetByteArrayRegion(obj, 0, size, data); } } else { LOGE("image heap is NULL");