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;
}