Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android JNI未满足链接异常 我有一个C++方法,我想用java代码调用< /LI>_Android_Android Ndk_Java Native Interface - Fatal编程技术网

Android JNI未满足链接异常 我有一个C++方法,我想用java代码调用< /LI>

Android JNI未满足链接异常 我有一个C++方法,我想用java代码调用< /LI>,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,该方法的签名为: Java: 公共类FLVCamActivity扩展活动{ 静态{ System.loadLibrary(“FLVCam”); System.out.println(“加载的FLVCam”); } 公共本机void RunFlvServer(int-iCamId); C++:外部“C”JNIEXPORT void JNICALL Java_com_sophin_flvcam_FlvCamActivity_RunFlvServer(JNIEnv*env、jobject javaT

该方法的签名为:

  • Java:
    公共类FLVCamActivity扩展活动{
    静态{
    System.loadLibrary(“FLVCam”);
    System.out.println(“加载的FLVCam”);
    }
    公共本机void RunFlvServer(int-iCamId);

  • C++:
    外部“C”JNIEXPORT void JNICALL Java_com_sophin_flvcam_FlvCamActivity_RunFlvServer(JNIEnv*env、jobject javaThis、jint iCamId)

  • 在运行时,System.loadLibrary(“FLVCam”)成功,但调用“RunFlvServer”失败,原因是“未找到本机Lcom/sophin/FLVCam/FLVCamActivity;.RunFlvServer(I)V的实现”
  • 我使用的SDK版本是:AndroidSDK=15,NDK=r7b,minsdk@manifest=15
  • 使用“nm-g”列出我的本机库公开的所有导出项,很明显本机方法已正确导出:0006c0a8 T Java_com_sophin_flvcam_flvcaActivity_RunFlvServer。

    考虑到上述情况,为什么我会得到这个不满意的链接异常

  • Nadav在Suffin

    < P>这是一种上例/小写类事物,FLVCAMPACTION在上有“FLV”,而C++方法有“FLV”(下位)。,我为此浪费了将近一天的时间,Maan,我希望下次我能把时间花在真正的bug上。

    Java本机函数声明是什么样子的?它应该在com.sophin.flvcam包中,在flvcaActivity类中,像这样:“native void RunFlvServer(int-iCamId)”。最好使用javah命令来创建伟大的函数头。