原因:java.lang.UnsatisfiedLinkError:找不到库pjsua2
我正在使用pjsua2 lib进行voip呼叫,在构建示例应用程序后,在lib->armebie文件夹中创建了一个名为pjsua2.so的文件。现在,该示例应用程序在版本4.1.1中运行良好,但该应用程序在版本2.2中崩溃并出现异常原因:java.lang.UnsatisfiedLinkError:找不到库pjsua2,java,android,java-native-interface,sip,pjsip,Java,Android,Java Native Interface,Sip,Pjsip,我正在使用pjsua2 lib进行voip呼叫,在构建示例应用程序后,在lib->armebie文件夹中创建了一个名为pjsua2.so的文件。现在,该示例应用程序在版本4.1.1中运行良好,但该应用程序在版本2.2中崩溃并出现异常 04-05 13:27:11.936: W/dalvikvm(8936): VFY: unable to resolve virtual method 81: Ljava/lang/String;.isEmpty ()Z 04-05 13:27:12.236: W/
04-05 13:27:11.936: W/dalvikvm(8936): VFY: unable to resolve virtual method 81: Ljava/lang/String;.isEmpty ()Z
04-05 13:27:12.236: W/dalvikvm(8936): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lorg/pjsip/pjsua2/app/MyApp;.<clinit>
04-05 13:27:12.236: W/dalvikvm(8936): threadid=1: thread exiting with uncaught exception (group=0x400207d8)
04-05 13:27:12.256: E/AndroidRuntime(8936): FATAL EXCEPTION: main
04-05 13:27:12.256: E/AndroidRuntime(8936): java.lang.ExceptionInInitializerError
04-05 13:27:12.256: E/AndroidRuntime(8936): at org.pjsip.pjsua2.app.MainActivity.onCreate(MainActivity.java:93)
04-05 13:27:12.256: E/AndroidRuntime(8936): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-05 13:27:12.256: E/AndroidRuntime(8936): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2633)
04-05 13:27:12.256: E/AndroidRuntime(8936): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
04-05 13:27:12.256: E/AndroidRuntime(8936): at android.app.ActivityThread.access$2300(ActivityThread.java:126)
04-05 13:27:12.256: E/AndroidRuntime(8936): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
您的问题与pjsua2库的路径有关。签入加载库的源代码。尝试将此静态块添加为静态块:
static {
System.load("path to your library";
System.out.println("library loaded");
}
当您开始构建
PJSUA2
时,不要忘记为您将要使用的每个armeabi
构建它。例如:TARGET\u ABI=armeabi-v7a./configure android——使用ndk cflags
谢谢你的重播。我已经按照你上面提到的方法完成了,pjsua2.so在lib->armeabi文件夹中。我还想提到它崩溃的设备是armeabi v6。你找到解决方案了吗?我不记得了,但可能是我不得不为不同的体系结构(armV7、mips、x86)生成的。或尝试重新生成so文件。
static {
System.load("path to your library";
System.out.println("library loaded");
}