如何傳遞一個字符串數組?
xx.cpp
JNIEXPORT jstring JNICALL Hello_Native(JNIEnv *env, jobject obj,jstring string)
{
const char *str = env->GetStringUTFChars(string, 0);
return env->NewStringUTF( "Hello from JNI !");
}
static JNINativeMethod gMethods[] = {
{"JniHello",const_cast<char*>("(Ljava/lang/jsting)Ljava/lang/jsting;"),(void*)Hello_Native}
xx.java
public native static String JniHello(String text);
為什麼系統總是提醒當在 gMethods 中申明 JniHello 時,參數不正確。
字符串數組是這麼表示吧 jobjectArray,可看你的代碼明明是string
在源碼裡找了一個,難道是少了個分號?
private static native String native_get(String key);
static JNINativeMethod method_table[] = {
{ "native_get", "(Ljava/lang/String;)Ljava/lang/String;",
(void*) SystemProperties_getS },