core.cpp 825 Bytes
//
// Created by 12567 on 2021/3/31.
//

#include <jni.h>
#include <syscall.h>
#include "wdun.h"

//import asm symbol
IMPORTWDSYSCALL

#define WDMAIN_CLASS_NAME "com/reyun/wandun/WdMain"
#define WDMAIN_GETWDID_METHOD_NAME "getWdIdNative"
#define WDMAIN_GETWDID_METHOD_SIG "()Ljava/lang/String;"

jstring jni_get_wdid(JNIEnv* env, jobject thiz) {

}

JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
    int pid = WDSYSCALL(SYS_getpid);
    JNIEnv* env = NULL;
    if(vm->GetEnv((void**)&env, JNI_VERSION_1_6) == JNI_TRUE) {
        jclass cls = env->FindClass(WDMAIN_CLASS_NAME);
        JNINativeMethod methods[] = {{WDMAIN_GETWDID_METHOD_NAME, WDMAIN_GETWDID_METHOD_SIG, (void*)jni_get_wdid}};
        env->RegisterNatives(cls, methods, sizeof(methods)/sizeof(JNINativeMethod));
    }
    return JNI_VERSION_1_6;
}