2016-07-15 11 views
1

seit fast 2 Monaten suche ich nach einer Lösung für das folgende Problem. Ich habe in meiner App eine Bibliothek implementiert, die auch die Datei IInAppBillingService.aidl und die anderen Teile der In App Billing Library von Google enthält. Wenn ich versuche, eine Release-Version von meiner app zu kompilieren wirft es einfach die folgenden Fehler:Doppelte "IInAppBillingService.aidl" Datei - Bibliothek + App

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. 

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/android/vending/billing/IInAppBillingService$Stub$Proxy.class

Für die Zeit für In-App-Käufe ich zu sein hätte nur diese Bibliothek nutzen, anstatt sie zu setzen direkt in meine. Das hat größtenteils gut funktioniert, aber was mir wirklich auf die Nerven geht ist, dass ich zum Beispiel nichts in der IabHelper.class ändern kann. Da wir alle nicht wissen, dass Google In App Billing Lösung manchmal fehlerhaft ist, wollte ich die IabHelper.class bearbeiten. So, jetzt ist das Problem mit 2 "IInAppBillingService.aidl" Dateien offensichtlich wieder da. Ich habe bereits versucht mit dem fowlling Code diesen Teil der Bibliothek auszuschließen:?

compile ('com.adobe.creativesdk:image:4.4.8') { 
    exclude module: 'com.android.vending.billing' 
} 

es nicht funktioniert ..... :(Was kann ich tun Sie für diese andere Lösung habe ich es hassen wie viel Zeit wird auf all jene Bibliothek Probleme verschwenden .....

vielen Dank !!

Antwort

3

duplicate entry: com/android/vending/billing/IInAppBillingService$Stub$Proxy.class

das bedeutet, dass Sie zwei Dateien IInAppBillingService.aidl in Ihrem Projekt haben. entfernen Sie die eine, dass Sie manuell importiert haben.Sie sollten nicht behalten Sie zwei ähnliche Klassen im Projekt.

+0

Ich stand vor der gleichen Herausforderung und suchte nach einer Lösung für 3 Tage. Aber jetzt nach dem Löschen von IInAppBillingService.aidl, die ich gerade importiert habe, hat alles gut funktioniert. So glücklich jetzt. – Neri

0

Nach dem gesamten Projekt suchen IInAppBillingService und wenn Sie mehr als eine Kopie dieser Klasse finden, dann müssen Sie alle löschen, die nur eine Klasse behalten. Löschen Sie alle billing library dependency von gradle Datei und es wird gebaut.

Verwandte Themen