2015-05-23 4 views
5

Так что я пытаюсь создать ProGuard в Gradle для моего проекта Android студии и при создании проекта я получаю следующее сообщение об ошибке:Android Studio - ProGuard IOException Дубликат Zip запись

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]))

Вот мои Proguard-правила .pro

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

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

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

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

ответ

8

Для справки Futur:

я наткнулся на такой же проблемой, и это post на SO помогла мне решить это.

В основном, когда вы включаете библиотеки в свой проект, некоторые из них содержат общие зависимости, и поэтому proguard не работает с IOException.

Моя проблема заключалась в том, что я использовал Разбор и Facebook SDKs и оба из них импортируются болты библиотеки в качестве зависимости.
Просто добавив некоторые исключить директивы при импорте одной из конфликтующих SDKs решена проблема:

compile ('com.facebook.android:facebook-android-sdk:4.4.0') { 
    exclude module: 'bolts-android' 
    exclude module: 'support-v4' 
} 
Смежные вопросы