Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot build app if using both voice and video #405

Closed
gsanthosh91 opened this issue May 6, 2019 · 4 comments
Closed

Cannot build app if using both voice and video #405

gsanthosh91 opened this issue May 6, 2019 · 4 comments
Assignees

Comments

@gsanthosh91
Copy link

Hello guys,

When I trying to build a project with Twilio voice and video call in a single project I am getting an error like
Duplicate class org.webrtc.CalledByNative found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)

both libraries having libwebrtc.jar, don't know how to exclude in one lib or merging them.

Gradle

implementation 'com.twilio:video-android:4.1.2'
implementation 'com.twilio:voice-android:3.0.0'

Error Logs

Duplicate class org.webrtc.CalledByNative found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.CalledByNativeUnchecked found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ContextUtils found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Histogram found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.JNINamespace found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.JniCommon found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.JniHelper found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Logging found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Logging$1 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Logging$Severity found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Logging$TraceLevel found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.NativeClassQualifiedName found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.Size found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$1 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$1CaughtException found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$1Result found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$2 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$3 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$4 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$BlockingOperation found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.ThreadUtils$ThreadChecker found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.WebRtcClassLoader found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.AudioDeviceModule found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$1 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$AudioRecordErrorCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$AudioRecordStartErrorCode found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$AudioSamples found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$AudioTrackErrorCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$AudioTrackStartErrorCode found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$Builder found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.JavaAudioDeviceModule$SamplesReadyCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.LegacyAudioDeviceModule found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.VolumeLogger found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.VolumeLogger$LogVolumeTask found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioEffects found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioManager found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioRecord found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioRecord$AudioRecordThread found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioTrack found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioTrack$AudioTrackThread found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.audio.WebRtcAudioUtils found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.BuildInfo found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioEffects found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioManager found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioManager$VolumeLogger found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioManager$VolumeLogger$LogVolumeTask found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$1 found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordStartErrorCode found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$AudioRecordThread found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$AudioSamples found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$WebRtcAudioRecordErrorCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioRecord$WebRtcAudioRecordSamplesReadyCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioTrack found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioTrack$AudioTrackStartErrorCode found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioTrack$AudioTrackThread found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioTrack$ErrorCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioTrack$WebRtcAudioTrackErrorCallback found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
Duplicate class org.webrtc.voiceengine.WebRtcAudioUtils found in modules libwebrtc.jar (com.twilio:video-android:4.1.2) and libwebrtc.jar (com.twilio:voice-android:3.0.0)
@zackm0571
Copy link
Contributor

Hey @gsanthosh91, thanks for reaching out. Unfortunately at this time our SDK's are not side by side compatible. This means you can't use our video and voice SDK together in the same project. This is due to a WebRTC build time complexity that we haven't scheduled to fix on our roadmap yet. TLDR; this isn't supported.. yet!

If there's a specific use case that you're trying to accomplish we would love to help out and make sure you can get the functionality you need. Would be more than happy to answer any follow up questions :)

@zackm0571 zackm0571 self-assigned this May 9, 2019
@miken01
Copy link

miken01 commented May 22, 2019

Is there any workaround? From my tests older versions of either library are not compatible with iOS when using current versions. Also, I'd imagine this is a very common scenario as I'd believe most people who want VoIP calling in their apps also want the ability to have a video chat. Like every other chat application in the world.

How in the world can a company such as Twilio not have a fix for this on the roadmap? Again, this is very common and insane to think your business team is ok with this approach.

@aaalaniz
Copy link
Contributor

Hey @miken01

I definitely empathize with your frustrations about side-by-side support. I would like to clarify that side-by-side support is on our roadmap. Please follow #340 for any updates or relevant information related to that effort.

I wanted to follow up on this comment.

From my tests older versions of either library are not compatible with iOS when using current versions.

Can you provide more details and file another issue related to this problem? I would like to know more about these compatibility issues.

Thanks!

@mnemo-afalck
Copy link

I am getting around this limitation by using twilioVoice 2.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants