Test 대상 


C:\Android\android-ndk-r7-windows\android-ndk-r7\samples\hello-jni



Android.mk

LOCAL_SRC_FILES := hello-jni.c

LOCAL_SRC_FILES := hello-jni.cpp


hello-jni.c 에서 jni 문법

jstring Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz )

{

    return (*env)->NewStringUTF(env, "Hello from JNI !");

}



hello-jni.cpp 에서 jni 문법

 extern "C" {

    JNIEXPORT jstring JNICALL Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz );

};


 JNIEXPORT jstring JNICALL Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz )

{

    return (env)->NewStringUTF("Hello from JNI ! Cpp");

}



Name mangling [name decoration] 에 의해서 extern "C" 를 선언해줘야 하는거 같음..

 JNIEXPORT ... JNICALL 규격이 따로 있음..