1 Jclass Jobject
java中的静态native方法
public native static String getStringFromC();
对应的静态native方法
JNIEXPORT jstring JNICALL Java_com_yeliang_JniTest_getStringFromC
(JNIEnv *env, jclass jcls){
};
java中的非静态native方法
public native String testNotStaticMethod();
对应的非静态native方法
JNIEXPORT jstring JNICALL Java_com_yeliang_JniTest_testNotStaticMethod
(JNIEnv *, jobject);
每个native函数,都至少有两个参数(JNIEnv*,jclass或者jobject)
当native方法为静态方法时:
jclass 代表native方法所属类的class对象(JniTest.class)
当native方法为非静态方法时:
jobject代表的native方法所属的对象
2 JNI数据类型
java对应的jni的数据类型
java ===== jni
boolean jboolean
byte jbyte;
char jchar;
short jshort;
int jint;
long jlong;
float jfloat;
double jdouble;
void void