From 029e08669cfc970ce72e0b91c30cbfffca3e33fe Mon Sep 17 00:00:00 2001 From: Andrei Vasiliu Date: Tue, 1 Mar 2016 15:55:15 +0000 Subject: [PATCH] java: Changed JNI version to 1.6 This change is needed to compile/run with OpenJDK 7, as well as with OpenJDK 8. Signed-off-by: Andrei Vasiliu Signed-off-by: Brendan Le Foll --- include/java/mraajni.h | 3 +++ src/java/mraajava.i | 2 +- src/java/mraajni.c | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/java/mraajni.h b/include/java/mraajni.h index 339fc3d..27051a6 100644 --- a/include/java/mraajni.h +++ b/include/java/mraajni.h @@ -31,6 +31,9 @@ extern "C" { #include "jni.h" #include "mraa/types.h" +// location for defining JNI version to use +#define JNI_REQUIRED_VERSION JNI_VERSION_1_6 + void mraa_java_set_jvm(JavaVM* vm); void mraa_java_isr_callback(void* args); mraa_result_t mraa_java_attach_thread(); diff --git a/src/java/mraajava.i b/src/java/mraajava.i index ac56b09..5225e29 100644 --- a/src/java/mraajava.i +++ b/src/java/mraajava.i @@ -80,7 +80,7 @@ class Spi; lang_func->java_create_global_ref = &mraa_java_create_global_ref; lang_func->java_delete_global_ref = &mraa_java_delete_global_ref; } - return JNI_VERSION_1_8; + return JNI_REQUIRED_VERSION; } %} diff --git a/src/java/mraajni.c b/src/java/mraajni.c index 63672fb..e5c6e6f 100644 --- a/src/java/mraajni.c +++ b/src/java/mraajni.c @@ -42,7 +42,7 @@ mraa_java_make_env_key(void) { if (globVM != NULL) { JNIEnv* jenv; - (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_VERSION_1_8); + (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_REQUIRED_VERSION); jclass rcls = (*jenv)->FindClass(jenv, "java/lang/Runnable"); jmethodID runm = (*jenv)->GetMethodID(jenv, rcls, "run", "()V"); runGlobal = (jmethodID)(*jenv)->NewGlobalRef(jenv, (jobject) runm); @@ -84,7 +84,7 @@ mraa_java_create_global_ref(void* args) { if (globVM != NULL) { JNIEnv* jenv; - (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_VERSION_1_8); + (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_REQUIRED_VERSION); jobject grunnable = (*jenv)->NewGlobalRef(jenv, (jobject) args); return (void*) grunnable; } else @@ -96,7 +96,7 @@ mraa_java_delete_global_ref(void* ref) { if (globVM != NULL) { JNIEnv* jenv; - (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_VERSION_1_8); + (*globVM)->GetEnv(globVM, (void**) &jenv, JNI_REQUIRED_VERSION); (*jenv)->DeleteGlobalRef(jenv, (jobject) ref); } }