我构建了Pjsip库并在android studio中使用它的示例。
题
当我运行时,我得到了这个错误。我怎么能解决它?提前致谢。
例外
jsip.pjsua2.app E / AndroidRuntime:FATAL EXCEPTION:main进程:org.pjsip.pjsua2.app,PID:4360 java.lang.UnsatisfiedLinkError:找不到void org.pjsip.pjsua2.pjsua2JNI.swig_module_init()的实现(试过Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init和Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init__)在org.pjsip.pjsua2.pjsua2JNI.swig_module_init(本机方法)在org.pjsip.pjsua2.pjsua2JNI。(pjsua2JNI.java:2351)在org.pjsip.pjsua2.Endpoint。(Endpoint.java:68)在org.pjsip.pjsua2.app.MyApp。(MyApp.java:296)org.pjsip.pjsua2.app.MainActivity.onCreate(MainActivity.java:92)android.app.Activity.performCreate(Activity.java: 5990)在android.app.Anstrumentation.callActivityOnCreate(Instrumentation.java:1106)的android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)安卓android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)。 app.ActivityThread.access $ 800(ActivityThread.java:156)在android.app.ActivityThread $ H.handleMes sage(ActivityThread.java:1351)位于android.app.AtoT.Thread.main上的android.os.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:211)(ActivityThread.java) :5389)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit) .java:1020)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
它可能由于几个原因而发生。首先,检查是否正确附加了本机库。为此,在项目中创建一个名为“jniLibs”的文件夹
应用程序/ SRC /主/ jniLibs
然后把你的armeabi架构库就像
armeabi / libpjsua2.so
对于像armeabi-v7a这样的其他架构使用
armeabi-V7A / libpjsua2.so
像这样。
还有其他原因可能发生。如果仅为pjsip
体系结构构建armeabi
库并在x86
体系结构设备中运行应用程序,则可能会发生此错误。如果您已为该应用程序构建了它,请检查它。
请看一下这个帖子:building pjsua2 dll
这里要知道的重要一点是,你在问题中显示的错误是由于pjsua2.dll(一个c ++ dll)不在你的输出目录中。