pjsip 库中的 UnsatisfiedLinkError
UnsatisfiedLinkError in pjsip library
我构建了 Pjsip 库并在 android studio 中使用了它的示例。
问题
当我 运行 得到这个 error.How 我可以解决它吗?提前致谢。
异常
jsip.pjsua2.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.pjsip.pjsua2.app, PID: 4360
java.lang.UnsatisfiedLinkError: No implementation found for void org.pjsip.pjsua2.pjsua2JNI.swig_module_init() (tried Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init and Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init__)
at org.pjsip.pjsua2.pjsua2JNI.swig_module_init(Native Method)
at org.pjsip.pjsua2.pjsua2JNI.(pjsua2JNI.java:2351)
at org.pjsip.pjsua2.Endpoint.(Endpoint.java:68)
at org.pjsip.pjsua2.app.MyApp.(MyApp.java:296)
at org.pjsip.pjsua2.app.MainActivity.onCreate(MainActivity.java:92)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)
at android.app.ActivityThread.access0(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(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)
at 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
体系结构设备中,则可能会发生此错误。因此,如果您为该应用程序构建了它,也请检查它。
请看一下这个帖子:building pjsua2 dll
这里要知道的重要一点是,您在问题中显示的错误是由于 pjsua2.dll(一个 c++ dll)不在您的输出目录中造成的。
我构建了 Pjsip 库并在 android studio 中使用了它的示例。
问题
当我 运行 得到这个 error.How 我可以解决它吗?提前致谢。
异常
jsip.pjsua2.app E/AndroidRuntime: FATAL EXCEPTION: main Process: org.pjsip.pjsua2.app, PID: 4360 java.lang.UnsatisfiedLinkError: No implementation found for void org.pjsip.pjsua2.pjsua2JNI.swig_module_init() (tried Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init and Java_org_pjsip_pjsua2_pjsua2JNI_swig_1module_1init__) at org.pjsip.pjsua2.pjsua2JNI.swig_module_init(Native Method) at org.pjsip.pjsua2.pjsua2JNI.(pjsua2JNI.java:2351) at org.pjsip.pjsua2.Endpoint.(Endpoint.java:68) at org.pjsip.pjsua2.app.MyApp.(MyApp.java:296) at org.pjsip.pjsua2.app.MainActivity.onCreate(MainActivity.java:92) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442) at android.app.ActivityThread.access0(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:211) at android.app.ActivityThread.main(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) at 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
体系结构设备中,则可能会发生此错误。因此,如果您为该应用程序构建了它,也请检查它。
请看一下这个帖子:building pjsua2 dll
这里要知道的重要一点是,您在问题中显示的错误是由于 pjsua2.dll(一个 c++ dll)不在您的输出目录中造成的。