繁体   English   中英

quickblox Sample-videochat-android无法正常工作(原因:java.lang.UnsatisfiedLinkError)

[英]quickblox Sample-videochat-android is not working (Caused by: java.lang.UnsatisfiedLinkError)

http://quickblox.com/developers/Sample-videochat-android

我想测试quickblox的语音聊天示例应用程序。

但是,我遇到了这个错误。

11-08 17:55:40.321: E/AndroidRuntime(14889): java.lang.ExceptionInInitializerError
11-08 17:55:40.321: E/AndroidRuntime(14889):    at com.quickblox.module.videochat.core.AudioRecorder$AudioRecorderRunnable.run(AudioRecorder.java:116)
11-08 17:55:40.321: E/AndroidRuntime(14889):    at java.lang.Thread.run(Thread.java:856)
11-08 17:55:40.321: E/AndroidRuntime(14889): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load ilbc-codec: findLibrary returned null
11-08 17:55:40.321: E/AndroidRuntime(14889):    at java.lang.Runtime.loadLibrary(Runtime.java:365)
11-08 17:55:40.321: E/AndroidRuntime(14889):    at java.lang.System.loadLibrary(System.java:535)
11-08 17:55:40.321: E/AndroidRuntime(14889):    at com.googlecode.androidilbc.Codec.<init>(Codec.java:16)
11-08 17:55:40.321: E/AndroidRuntime(14889):    at com.googlecode.androidilbc.Codec.<clinit>(Codec.java:5)
11-08 17:55:40.321: E/AndroidRuntime(14889):    ... 2 more

请帮我!!

我遇到了同样的错误...

有趣的是,如果您尝试调试该应用程序,它实际上将我带到下一个屏幕(使用“音频通话”和“视频通话”两个按钮)。 我所做的是在行上的ActivityCallUser类中放置一个断点:QBVideoChatService.getService()。setQBVideoChatListener(currentQbUser,qbVideoChatListener);

在调试模式下运行,然后在达到断点时,按F6(Eclipse)移至上一步,直到黑色屏幕替换为2按钮屏幕,然后可以跳过。 接下来发生的事情是,我可以按照确切的步骤尝试用2部手机进行调试,并互相呼叫...虽然我从这两部手机听不到任何声音,也看不到这两部手机的录像。

问题出在libilbc-codec.so库中。 ,如果未正确包含库,则会发生这种情况。 您可以按照以下步骤解决此问题!

  1. 当android查找.so库时,它们需要位于lib(NOT libs)目录中(这最初给我造成了问题)。 请记住,这是一个本机库,本机代码需要在lib目录中,而不是libs中。

  2. 在拥有.so文件之后,请从lib目录中创建.zip文件夹(您可以将其命名为native-libs.zip )。 现在,您应该有了一个带有lib/armeabi/**.so.zip作为内容。 现在,将.zip的扩展名重命名为.jar为您提供文件名native-libs.jar 然后将jar拖到其他目录(与所有其他jar库相同的位置)的android studio项目库或库中。 并确保右键单击native-libs jar并将其添加为库。

  3. 最后,将其添加到您的项目build.gradle中:

编译fileTree(dir:'libs',include:'* .jar')并确保所有编译fileTree和compile项目也与native.jar一起存在于依赖项中(如果有)。

例如。

dependencies {

    compile fileTree(dir: '../jar', include: '*.jar')

    compile project(':pull-to-refresh')

    compile files('libraries/native-libs.jar')
}

希望这可以帮助 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM