csh_34
2013-05-09 09:42
采纳率: 80.4%
浏览 5.7k

jni如何传递一个字符串数组?

如何传递一个字符串数组?
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 时,参数不正确。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • balmy 2013-05-09 13:17
    已采纳

    字符串数组是这么表示吧 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 },
    
    点赞 评论

相关推荐 更多相似问题