2016-07-25 37 views
8

Otrzymuję te błędy w mojej aplikacji na Androida i tutaj jest LogCat.Zduplikowana klasa WebRTC w Androidzie

> Error:Execution failed for task 
> ':android:transformClassesWithJarMergingForDebug'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: 
> org/webrtc/voiceengine/WebRtcAudioRecord.class 

Próbuję zintegrować drugą WebRTC do mojego Android app, mam włączone TokBox słoika w moim projekcie i teraz staram się umieścić VSee SDK w aplikacji, a także, zgaduję oba mają WebRTC biblioteki, więc dostaję ten duplikat błędu, ale nie mogę znaleźć sposobu na wykluczenie 1 z nich, aby naprawić duplikat błędu.

Do tej pory starałem się dodać to do kompilacji Gradle mojej aplikacji.

> exclude group: 'org.webrtc' 

Ale to nie działa, czy ktoś może mi w tym pomóc? Z góry dziękuję!

+0

Czy masz jakieś rozwiązanie, ponieważ mam również ten sam problem. – Jeevanandhan

+0

Otrzymuję podobny problem z dziennikiem: ** Błąd: Wykonanie nie powiodło się dla zadania ": app: transformClassesWithJarMergingForProudctDebug". > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplikat wpisu: org/webrtc/voiceengine/BuildInfo.class ** Czy otrzymałeś na to odpowiedź? – CoDe

Odpowiedz

0

Właśnie dostałem ten sam błąd. turnd, w moim przypadku, było po prostu napisane: "duplikat". Miałem ten sam wiersz "kompilacji" na "build.gradle" - "zależności". To było zawsze, błąd zaczął się podskakiwać po uaktualnieniu Androida Studio (2.2) i wersji gradle ('classpath' com.android.tools.build:gradle:2.2.0 ')

Usunąłem jeden z duplikatów linie i błąd zniknął.

+0

Twoja odpowiedź została plagiatowana na innym forum http://asktoanswer.com/questions/duplicate-webrtc-class-in-android/ –

0

Sprawdź, czy żadna z Twoich zależności nie powoduje konfliktów np. nie masz modułu A, który zależy od X 1.0 i Y 1.0, ale X 1.0 zależy od Y 2.0.

Albo znalazłem proste czyszczenie i przebudowanie naprawia podobny błąd.

0

Wypróbuj ./gradlew clean w folderze głównym i przeprowadź kompilację. Jeśli to nie zadziała, uruchom ./gradlew app:dependencies lub ./gradlew assembleDebug --debug, aby znaleźć konflikty zależności, aby wykluczyć duplikat klasy.

+0

Znam zależność i przyczynę konfliktu. W moim przypadku używam dwóch rozwiązań opartych na WebRTC trzeciej części i obie używają tej samej nazwy klasy ** BuildInfo.class **, a to powoduje problem. Jakieś sugestie ? – CoDe

+0

Powielone nazwy klas nie powinny stanowić problemu, jeśli nazwy pakietów są różne. Może oba są zależne od innej wersji biblioteki? –

+0

ale to powoduje problem, widzisz to samo, co dodałem w komentarzu powyżej. ** zduplikowany wpis: org/webrtc/voiceengine/BuildInfo.class ** – CoDe