csh_34 2013-05-09 09:42 采纳率: 0%
浏览 5809
已采纳

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 },
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?