From b3a8c980f7b33e7457f9a1ee3582ccbc28b7f70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Kalliom=C3=A4ki?= Date: Thu, 9 Nov 2017 15:35:02 +0100 Subject: [PATCH] Move InitClassLoader from JNI_OnLoad to InitGlobalJniVariables. This fixes clients with custom JNI_OnLoad code. Bug: webrtc:8278 Change-Id: I67b45c2ca07b13b0bf968c5ac17ec6f1bcc58a86 Reviewed-on: https://webrtc-review.googlesource.com/21281 Reviewed-by: Magnus Jedvert Commit-Queue: Magnus Jedvert Cr-Commit-Position: refs/heads/master@{#20629} --- sdk/android/src/jni/jni_helpers.cc | 3 +++ sdk/android/src/jni/jni_onload.cc | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk/android/src/jni/jni_helpers.cc b/sdk/android/src/jni/jni_helpers.cc index 4c3724f44c..f55cd1b8e1 100644 --- a/sdk/android/src/jni/jni_helpers.cc +++ b/sdk/android/src/jni/jni_helpers.cc @@ -15,6 +15,7 @@ #include #include +#include "sdk/android/src/jni/class_loader.h" #include "sdk/android/src/jni/classreferenceholder.h" namespace webrtc { @@ -78,6 +79,8 @@ jint InitGlobalJniVariables(JavaVM *jvm) { if (jvm->GetEnv(reinterpret_cast(&jni), JNI_VERSION_1_6) != JNI_OK) return -1; + InitClassLoader(jni); + return JNI_VERSION_1_6; } diff --git a/sdk/android/src/jni/jni_onload.cc b/sdk/android/src/jni/jni_onload.cc index cb708e7fda..d70d7b850d 100644 --- a/sdk/android/src/jni/jni_onload.cc +++ b/sdk/android/src/jni/jni_onload.cc @@ -28,8 +28,6 @@ extern "C" jint JNIEXPORT JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { RTC_CHECK(rtc::InitializeSSL()) << "Failed to InitializeSSL()"; LoadGlobalClassReferenceHolder(); - JNIEnv* env = AttachCurrentThreadIfNeeded(); - InitClassLoader(env); return ret; }