2015-03-24 5 views
2

Я использую некоторые библиотеки/модули для своего проекта.
На двух библиотеках есть «9oldandroids» используется в градиенте с «-compile» com.nineoldandroids: library: 2.4.0 ' "на каждой библиотеке/модуле!Gradle - ProGuard - DuplicateClasses - NineOldAndroids

Если я хочу обрешеткой APK в Android Studio с "Строить - Генерирование Подпись APK" я всегда на "Proguard" ошибка "duplicateclasses" с следующей ошибкой:

Error:Execution failed for task ':xxxxx:proguardRelease'. 
> java.io.IOException: Can't write 
[F:\Projekte\Android_Studio\xxxx\build\intermediates\classes-proguard\ 
release\classes.jar] (Can't read 
[F:\Projekte\Android_Studio\xxxx\build\intermediates\exploded-aar\ 
Android_Studio\library_SwipeListView\unspecified\libs\ 
nineoldandroids-2.4.0.jar(;;;;;;!META-INF/MANIFEST.MF)] 
(Duplicate zip entry [com/b/a/b.class == nineoldandroids-2.4.0.jar:com 
/nineoldandroids/animation/Animator$AnimatorListener.class])) 

Как я могу решить эту ошибку?

SwipeListView:

dependencies { 
compile 'com.android.support:support-v4:20.0.0' 
compile 'com.nineoldandroids:library:2.4.0' 

}

NumberPickerCompat:

dependencies { 
compile 'com.nineoldandroids:library:2.4.0' 

}

MainProject:

dependencies { 
compile project(':library_CalendarViewCompbat') 
compile project(':library_FAB_Menu') 
compile project(':library_NumberPickerCompat') 
compile project(':library_ReminderDatePicker') 
compile project(':library_StickyListHeaders') 
compile project(':library_SwipeListView') 
compile project(':library_SunDate_Picker') 
compile 'com.google.android.gms:play-services:6.1.+' 
compile 'com.android.support:appcompat-v7:19.1.0' 
compile 'com.android.support:support-v4:20.0.0' 
compile files('libs/crashlytics.jar') 
compile files('libs/dashclock-api-r1.1.jar') 
compile files('libs/dropbox-android-sdk-1.5.3.jar') 
compile files('libs/httpmime-4.0.3.jar') 
compile files('libs/json_simple-1.1.jar') 

}

ответ

1

Спасибо всем за ваши ответы.
Проблема заключалась в том, что некоторые .jar-файлы сохраняются в некоторых «сборках».

Это потому, что у меня есть мигрировали из Eclipse, с .jars и позже удалил и добавил компилировать Gradle. Но я не видел, чтобы в папках «build» они были сохранены.

0

Попробуйте это:

SwipeListView:

dependencies { 
    compile 'com.android.support:support-v4:20.0.0' 
} 

NumberPickerCompat:

dependencies { 

} 

MainProject:

dependencies { 

    //put nineoldandroids in main project 
    compile 'com.nineoldandroids:library:2.4.0' 

    compile project(':library_CalendarViewCompbat') 
    compile project(':library_FAB_Menu') 
    compile project(':library_NumberPickerCompat') 
    compile project(':library_ReminderDatePicker') 
    compile project(':library_StickyListHeaders') 
    compile project(':library_SwipeListView') 
    compile project(':library_SunDate_Picker') 
    compile 'com.google.android.gms:play-services:6.1.+' 
    compile 'com.android.support:appcompat-v7:19.1.0' 
    compile 'com.android.support:support-v4:20.0.0' 
    compile files('libs/crashlytics.jar') 
    compile files('libs/dashclock-api-r1.1.jar') 
    compile files('libs/dropbox-android-sdk-1.5.3.jar') 
    compile files('libs/httpmime-4.0.3.jar') 
    compile files('libs/json_simple-1.1.jar') 
} 
4

Вы можете исключить один из nineoldandroids транзитивные зависимости от вашего основного проекта:

dependencies { 
    compile project(':library_NumberPickerCompat') 
    compile(project(':library_SwipeListView')) { 
     // Already present in NumberPickerCompat 
     exclude group: 'com.nineoldandroids' 
    } 

    ... 
} 

Пожалуйста, обратите внимание, что дополнительные скобки на второй compile зависимости

Смежные вопросы