mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-15 23:59:21 -04:00
RTLD_NEXT
This commit is contained in:
parent
8857f89730
commit
0499f9df7b
@ -66,13 +66,14 @@ static void logArgs(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_com_oracle_dalvik_VMLauncher_createLaunchMainJVM(JNIEnv *env, jclass clazz, jobjectArray vmArgArr, jstring mainClassStr, jobjectArray mainArgArr) {
|
JNIEXPORT jint JNICALL Java_com_oracle_dalvik_VMLauncher_createLaunchMainJVM(JNIEnv *env, jclass clazz, jobjectArray vmArgArr, jstring mainClassStr, jobjectArray mainArgArr) {
|
||||||
|
/*
|
||||||
void *libjvm = dlopen("libjvm.so", RTLD_NOW + RTLD_GLOBAL);
|
void *libjvm = dlopen("libjvm.so", RTLD_NOW + RTLD_GLOBAL);
|
||||||
if (libjvm == NULL) {
|
if (libjvm == NULL) {
|
||||||
LOGE("dlopen failed to open libjvm.so (dlerror %s).", dlerror());
|
LOGE("dlopen failed to open libjvm.so (dlerror %s).", dlerror());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
JNI_CreateJavaVM_func *jl_JNI_CreateJavaVM = (JNI_CreateJavaVM_func *) dlsym(libjvm, "JNI_CreateJavaVM");
|
JNI_CreateJavaVM_func *jl_JNI_CreateJavaVM = (JNI_CreateJavaVM_func *) dlsym(RTLD_NEXT /* libjvm */, "JNI_CreateJavaVM");
|
||||||
if (jl_JNI_CreateJavaVM == NULL) {
|
if (jl_JNI_CreateJavaVM == NULL) {
|
||||||
LOGE("dlsym failed to get JNI_CreateJavaVM (dlerror %s).", dlerror());
|
LOGE("dlsym failed to get JNI_CreateJavaVM (dlerror %s).", dlerror());
|
||||||
return -1;
|
return -1;
|
||||||
@ -115,26 +116,25 @@ JNIEXPORT jint JNICALL Java_com_oracle_dalvik_VMLauncher_createLaunchMainJVM(JNI
|
|||||||
|
|
||||||
static jint launchJVM(int argc, char** argv) {
|
static jint launchJVM(int argc, char** argv) {
|
||||||
logArgs(argc, argv);
|
logArgs(argc, argv);
|
||||||
|
/*
|
||||||
void* libjli = RTLD_DEFAULT;
|
void* libjli = dlopen("libjli.so", RTLD_LAZY | RTLD_GLOBAL);
|
||||||
// dlopen("libjli.so", RTLD_LAZY | RTLD_GLOBAL);
|
|
||||||
|
|
||||||
// Boardwalk: silence
|
// Boardwalk: silence
|
||||||
// LOGD("JLI lib = %x", (int)libjli);
|
// LOGD("JLI lib = %x", (int)libjli);
|
||||||
if (NULL == libjli) {
|
if (NULL == libjli) {
|
||||||
LOGE("JLI lib = NULL: %s", dlerror());
|
LOGE("JLI lib = NULL: %s", dlerror());
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
LOGD("Found JLI lib");
|
LOGD("Found JLI lib");
|
||||||
|
*/
|
||||||
JLI_Launch_func *pJLI_Launch =
|
JLI_Launch_func *pJLI_Launch =
|
||||||
(JLI_Launch_func *)dlsym(libjli, "JLI_Launch");
|
(JLI_Launch_func *)dlsym(RTLD_NEXT /* libjli */, "JLI_Launch");
|
||||||
// Boardwalk: silence
|
// Boardwalk: silence
|
||||||
// LOGD("JLI_Launch = 0x%x", *(int*)&pJLI_Launch);
|
// LOGD("JLI_Launch = 0x%x", *(int*)&pJLI_Launch);
|
||||||
|
|
||||||
if (NULL == pJLI_Launch) {
|
if (NULL == pJLI_Launch) {
|
||||||
LOGE("JLI_Launch = NULL");
|
LOGE("JLI_Launch = NULL");
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGD("Calling JLI_Launch");
|
LOGD("Calling JLI_Launch");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user