需要特别注意的是Java和JNI定义的类型是需要转换的,不能直接使用Java里的类型,也不能直接将JNI、C/C++的类型直接返回给Java。
    参考如下类型对照表:

    Java类型 JNI类型 C/C++类型 大小
    Boolean Jblloean unsigned char 无符号8位
    Byte Jbyte char 有符号8位
    Char Jchar unsigned short 无符号16位
    Short Jshort short 有符号16位
    Int Jint int 有符号32位
    Long Jlong long long 有符号64位
    Float Jfloat float 32位
    Double Jdouble double 64位

    jstring转char*:env->GetStringUTFChars(str, &jsCopy)

    char*转jstring: env->NewStringUTF("Hello...")

    字符串资源释放: env->ReleaseStringUTFChars(javaString, p);

    其他知识点参考:jni中java与原生代码通信规则