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 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器