package com.ui.test;
public class test {
public test() {
}
static {
System.loadLibrary("jnitest");
}
public native void testfuc(String instring);
public static void main(String[] srgs)
{
test testx = new test();
testx.testfuc("hello");
}
}
#include "stdafx.h"
#include <jni.h>
static void JNICALL Test(JNIEnv *env, jobject arg, jstring instring)
{
const char *str = (const char *)env->GetStringUTFChars(instring, JNI_FALSE);
::MessageBoxA(0, str, "str", 0);
env->ReleaseStringUTFChars(instring, str);
}
static const JNINativeMethod gMethods[] = {
{ "testfuc", "(Ljava/lang/String;)V", (void*)Test }
};
JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void *reserved)
{
::MessageBoxA(0, "JNI_OnLoad", "str", 0);
JNIEnv* env = NULL;
jint result = -1;
if (vm->GetEnv( (void**)&env, JNI_VERSION_1_4) != JNI_OK)
return -1;
jclass clazz;
static const char* const kClassName = "com/ui/test/test";
clazz =env->FindClass(kClassName);
if (clazz == NULL)
{
::MessageBoxA(0, "JNI_OnLoad", kClassName, 0);
return -1;
}
if (env->RegisterNatives(clazz, gMethods, sizeof(gMethods) / sizeof(gMethods[0])) != JNI_OK)
{
printf("register native method failed!\n");
return -1;
}
return JNI_VERSION_1_4;
}