【问题标题】:sinch crash when loading the library加载库时sinch崩溃
【发布时间】:2017-03-27 16:28:00
【问题描述】:

我正在尝试将 sinch sdk 集成到我的应用程序中,我之前使用它作为 jar 文件进行音频通话没有问题

不,我正在尝试实现视频聊天并尝试集成 .aar 文件

当应用启动时我遇到了这个崩溃

    Failed to register native method org.webrtc.sinch.voiceengine.WebRtcAudioManager.nativeCacheAudioParameters(IIZZZZIIJ)V in /data/app/com.forsale.forsale-1/split_lib_dependencies_apk.apk:classes80.dex
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art: ----- class 'Lorg/webrtc/sinch/voiceengine/WebRtcAudioManager;' cl=0x12cf3c80 -----
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      0: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isLowLatencyInputSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      0: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.<clinit>()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      1: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.<init>(android.content.Context, long)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      2: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.assertTrue(boolean)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      3: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.dispose()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      4: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getLowLatencyInputFramesPerBuffer()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      5: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getLowLatencyOutputFramesPerBuffer()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      6: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getMinInputFrameSize(int, int)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      7: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getMinOutputFrameSize(int, int)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      8: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getNativeOutputSampleRate()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      9: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.getSampleRateOnJellyBeanMR10OrHigher()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     10: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.hasEarpiece()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     11: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.init()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     12: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isAcousticEchoCancelerSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     13: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isAutomaticGainControlSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     14: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isCommunicationModeEnabled()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     15: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isDeviceBlacklistedForOpenSLESUsage()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     16: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isLowLatencyOutputSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     17: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isNoiseSuppressorSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     18: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isOpenSLESSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     19: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.isProAudioSupported()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     20: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.nativeCacheAudioParameters(int, int, boolean, boolean, boolean, boolean, boolean, int, int, long)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     21: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(boolean)
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     22: void org.webrtc.sinch.voiceengine.WebRtcAudioManager.storeAudioParameters()
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      0: java.lang.String[] org.webrtc.sinch.voiceengine.WebRtcAudioManager.AUDIO_MODES
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      1: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.BITS_PER_SAMPLE
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      2: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.CHANNELS
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      3: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.DEBUG
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      4: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.DEFAULT_FRAME_PER_BUFFER
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      5: java.lang.String org.webrtc.sinch.voiceengine.WebRtcAudioManager.TAG
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      6: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.blacklistDeviceForOpenSLESUsage
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      7: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.blacklistDeviceForOpenSLESUsageIsOverridden
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      0: android.media.AudioManager org.webrtc.sinch.voiceengine.WebRtcAudioManager.audioManager
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      1: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.channels
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      2: android.content.Context org.webrtc.sinch.voiceengine.WebRtcAudioManager.context
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      3: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.hardwareAEC
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      4: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.hardwareAGC
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      5: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.hardwareNS
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      6: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.initialized
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      7: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.inputBufferSize
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      8: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.lowLatencyOutput
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:      9: long org.webrtc.sinch.voiceengine.WebRtcAudioManager.nativeAudioManager
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     10: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.nativeChannels
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     11: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.nativeSampleRate
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     12: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.outputBufferSize
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     13: boolean org.webrtc.sinch.voiceengine.WebRtcAudioManager.proAudio
03-27 18:23:57.461 3461-3839/com.forsale.forsale E/art:     14: int org.webrtc.sinch.voiceengine.WebRtcAudioManager.sampleRate
03-27 18:23:57.461 3461-3839/com.forsale.forsale W/System.err: java.lang.NoSuchMethodError: no static or non-static method "Lorg/webrtc/sinch/voiceengine/WebRtcAudioManager;.nativeCacheAudioParameters(IIZZZZIIJ)V"
03-27 18:23:57.571 3840-3840/? A/google-breakpad: M CBB00000 00000000 004DE000 039413E9B0F86DA6F9188EB6CE78A4F30 libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #05 pc 0026034b  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #06 pc 002fc21b  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #07 pc 0014a15f  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #08 pc 00149b29  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #09 pc 000d12a4  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #10 pc 00052ba4  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #11 pc 000d51a4  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #12 pc 0025e247  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #13 pc 00252583  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #14 pc 0025e359  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so
03-27 18:23:57.711 3137-3137/? A/DEBUG:     #15 pc 0025e13d  /data/app/com.forsale.forsale-1/lib/arm/libsinch-android-rtc.so

谁能帮帮我?

【问题讨论】:

  • aar 不包括依赖项.. 它看起来像是在搜索他找不到的类,也许是一个 SO 文件。
  • 我尝试在以下链接中关注 sinch 文档:sinch.com/docs/video/android
  • 来自 Gradle 的任何警告?
  • 不,我遵循文档,方法1:添加aar文件,然后将指令复制并粘贴到我的gradle文件中,它会产生同样的崩溃,方法2:将aar文件作为新模块导入也会产生同样的崩溃
  • @AmiraElsayedIsmail 您在运行应用程序时使用什么架构。我知道 sinch 目前存在 x86 架构的 .so 文件未包含在其 aar 文件中的问题。如果您使用的是 x86 模拟器,请尝试切换到 x86_64 模拟器。那个固定是给我的。

标签: android sinch android-sinch-api


【解决方案1】:

sinchClient.setSupportActiveConnectionInBackground(true); sinchClient.startListeningOnActiveConnection();

【讨论】:

  • 您好,欢迎来到 SO!请详细说明它的作用以及它如何帮助解决问题。
猜你喜欢
  • 2016-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多