Android pjsip库中的未满足链接错误

Android pjsip库中的未满足链接错误,android,pjsip,unsatisfiedlinkerror,Android,Pjsip,Unsatisfiedlinkerror,我构建了Pjsip库,并在android studio中使用了它的示例 问题 当我运行时,我得到了这个错误。我如何解决它?提前谢谢 例外情况 jsip.pjsua2.app E/AndroidRuntime:致命异常:main 流程:org.pjsip.pjsua2.app,PID:4360 java.lang.UnsatifiedLinkError:未找到void org.pjsip.pjsua2.pjsua2JNI.swig_module_init()的实现(尝试了java_org_pjsi

我构建了Pjsip库,并在android studio中使用了它的示例

问题

当我运行时,我得到了这个错误。我如何解决它?提前谢谢

例外情况

jsip.pjsua2.app E/AndroidRuntime:致命异常:main 流程:org.pjsip.pjsua2.app,PID:4360 java.lang.UnsatifiedLinkError:未找到void org.pjsip.pjsua2.pjsua2JNI.swig_module_init()的实现(尝试了java_org_pjsip_pjsua2_pjsua2JNI_swig_1模块单元和java_org_pjsip_pjsua2_pjsua2JNI_模块单元) 位于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.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442) 在android.app.ActivityThread.access$800(ActivityThread.java:156) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:211) 位于android.app.ActivityThread.main(ActivityThread.java:5389) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)


这可能有几个原因。首先,检查是否正确连接了本机库。为此,在项目中创建一个名为“jniLibs”的文件夹

app/src/main/jniLibs

然后将您的armeabi体系结构库

armeabi/libpjsua2.so

对于其他架构,如armeabi-v7a,请使用

armeabi-v7a/libpjsua2.so

像这样


可能还有其他原因。如果仅为
armeabi
体系结构构建
pjsip
库,并在
x86
体系结构设备中运行应用程序,则可能会发生此错误。因此,如果您已经为该应用程序构建了它,也请检查它。

它可能是由于几个原因造成的。首先,检查是否正确连接了本机库。为此,在项目中创建一个名为“jniLibs”的文件夹

app/src/main/jniLibs

然后将您的armeabi体系结构库

armeabi/libpjsua2.so

对于其他架构,如armeabi-v7a,请使用

armeabi-v7a/libpjsua2.so

像这样


可能还有其他原因。如果仅为
armeabi
体系结构构建
pjsip
库,并在
x86
体系结构设备中运行应用程序,则可能会发生此错误。因此,如果您已经为该应用程序构建了它,请检查它。

请查看此线程:


这里要知道的是,您在问题中显示的错误是由于PJSUA2.DLL(C++ + DLL)不在您的输出目录中的事实。

< P>请查看此线程:


<> P>重要的是,你在你的问题中所显示的错误是因为PJSUA2.DLL(一个C++ DLL)不在你的输出目录中。但是你的链接中的错误是不同的。谢谢你的回答。我如何检查我使用的是哪一个版本的armeabi?它在Eclipse中工作,但在Android Studio中我得到了这个例外创建文件夹“jniLibs”并在其中创建“armeabi”文件夹并根据我的回答粘贴你的库。它会工作的。谢谢你,先生。我创建了JniLibs,但我没有把它放在JniLibs中,而是放在Libs文件夹中。但是你帮了忙,它工作得很好。再次感谢先生。你好,riaz hasan和@hesenlieldar,我也有同样的问题,这是我的,我不知道问题是什么。我如何检查我使用的是哪一个版本的armeabi?它在Eclipse中工作,但在Android Studio中我得到了这个例外创建文件夹“JNILBS”并在其中创建“armeabi”根据我的答案,将你的图书馆文件夹粘贴起来。它会起作用的。谢谢你,先生。我创建了JniLibs,但我没有把它放在JniLibs中,而是放在Libs文件夹中。但是你