2015-05-23 27 views
5

Więc próbuję skonfigurować ProGuard w Gradle dla mojego projektu Android Studio i pojawia się następujący błąd podczas budowania projektu:Android Studio - ProGuard IOException Duplikat Wejście pocztowy

Error:Execution failed for task ':app:proguardDebug'. java.io.IOException: Can't write [C:\Users\Rich\Desktop\WebProjects\AndroidStudioProjects\Roomie\app\build\intermediates\classes-proguard\debug\classes.jar] (Can't read C:\Users\Rich\Desktop\WebProjects\AndroidStudioProjects\Roomie\app\libs\bolts-android-1.1.4.jar(;;;;;;!META-INF/MANIFEST.MF)] (Duplicate zip entry [a/a.class == bolts-android-1.1.4.jar:bolts/AggregateException.class]))

Oto moje PROGUARD-rules .pro

-keep class butterknife.** { *; } 
-dontwarn butterknife.internal.** 
-keep class **$$ViewInjector { *; } 

-dontwarn org.apache.http.annotation.** 

-keepclasseswithmembernames class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
} 

Odpowiedz

8

Dla porównania Futur:

natknąłem się na ten sam problem i to post na SO pomógł mi rozwiązać go.

Zasadniczo, gdy dołączasz biblioteki do projektu, niektóre z nich zawierają typowe zależności i dlatego proguard kończy się niepowodzeniem z wyjątkiem IOException.

Moim problemem było to, że użyłem Parse i Facebook SDK i oboje importowane śruby biblioteki jako zależność.
Wystarczy dodać kilka wykluczyć dyrektyw podczas importowania jednego z kolidujących SDK rozwiązał problem:

compile ('com.facebook.android:facebook-android-sdk:4.4.0') { 
    exclude module: 'bolts-android' 
    exclude module: 'support-v4' 
} 
Powiązane problemy