android - Gradle - ProGuard - 重复类 - NineOldAndroids

标签 android android-gradle-plugin

我在我的项目中使用了一些库/模块。
其中两个库的 gradle 中使用了“nineoldandroids”,每个库都使用“-compile 'com.nineoldandroids:library:2.4.0'”库/模块!

如果我想在 Android Studio 中使用“构建 - 生成签名 APK”创建 APK,我总是会收到“ProGuard”错误“重复类”并出现以下错误:

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'

}

主要项目:

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

}

最佳答案

您可以从主项目中排除 nineoldandroids 传递依赖项之一:

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

    ...
}

请注意第二个compile依赖项上的额外括号

关于android - Gradle - ProGuard - 重复类 - NineOldAndroids,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29233035/

相关文章:

android - 原因 : javax. xml.bind.UnmarshalException : Unable to create an instance of com. android.repository.impl.generated.v1.TypeDetails Android

android - 使用 GSON 调整 Retrofit 响应

android - AS 强制使用 android SDK Build Tools 25.0.0 SDK Build Tools 版本 (23.0.3) 对于项目来说太低

java - Android Studio 在项目同步期间抛出异常

android - 为了编写自定义gradle任务,我需要在项目中包含哪些文件?

android - Android Gradle项目显示了许多Aapt的警告(libpng警告:iCCP)

android - 在Android上捕获原始麦克风输入

android - 在 test 和 androidTest 之间共享测试类

android - Gradle 未在线搜索依赖项

android - 在 xml 中设置变量,就像在 android 中为 adMob 设置 list 占位符一样