A weird error in an implementation of loadDex in android NDK -
char* (*loaddex) (char * dexpath, char * odexpath,int flag) = null; jniexport jint jni_onload(javavm* vm, void* reserved) { char* (*loaddex) (char *, char *,int) = null; logd("jni_onload!"); void *ldvm = (void*) dlopen("/system/lib/libdvm.so", rtld_lazy); if(ldvm == null) { logd("error : %s",dlerror()); //is art void *ldvm = (void*) dlopen("/system/lib/libart.so", rtld_lazy); } loaddex = (char* (*) (char *, char *,int)) dlsym (ldvm, "loaddex"); void *venv; if ((*vm)->getenv(vm, (void**) &venv, jni_version_1_4) != jni_ok) { return -1; } return jni_version_1_4; } i use dlsym() function in order pointer of loaddex() returns 0. here can teach me how exact pointer?
thanks in advance!
loaddex private api of dalvik , doesn't exist in art. sort of thing should done in java.
Comments
Post a Comment