diff --git a/jnius/jnius_jvm_dlopen.pxi b/jnius/jnius_jvm_dlopen.pxi index 8cc6819a..2295c142 100644 --- a/jnius/jnius_jvm_dlopen.pxi +++ b/jnius/jnius_jvm_dlopen.pxi @@ -51,6 +51,17 @@ cdef void create_jnienv() except *: cdef void *handle import jnius_config + cdef void *jnienv_pyjnius + handle = dlopen(b"libtermux-pyjnius.so", RTLD_LAZY) + if handle != NULL: + jnienv_pyjnius = dlsym(handle, b"get_platform_jnienv_pyjnius") + if jnienv_pyjnius == NULL: + raise SystemError("Error calling dlfcn for get_platform_jnienv_pyjnius: {0}".format(dlerror())) + ( jnienv_pyjnius)(&_platform_default_env) + if _platform_default_env != NULL: + return + dlclose(handle) + JAVA_LOCATION = get_java_setup() cdef str java_lib = JAVA_LOCATION.get_jnius_lib_location()