2016-11-22 1 views
1

Я использую Kryo libs и это довольно хорошо. Однако, когда я хочу создать подписанный APK, он не может построить из-за ошибки:Еще одна запись в формате ZIP

Ошибка: выполнение выполнено для задачи ': app: transformClassesAndResourcesWithProguardForRelease'.

java.io.IOException: Can't write [C:\AndroidProjects\App\app\build\intermediates\transforms\proguard\release\jars\3\1f\main.jar] (Can't read [C:\AndroidProjects\App\app\importLibs\minlog-1.3.0.jar(;;;;;;**.class)] (Duplicate zip entry [minlog-1.3.0.jar:com/esotericsoftware/minlog/Log$Logger.class]))

build gradle (module app) 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.google.android.gms:play-services-ads:9.4.0' 
    compile 'com.android.support:design:24.1.1' 
    compile 'com.google.android.gms:play-services:9.4.0' 
    compile 'com.google.android.gms:play-services-auth:9.4.0' 
    compile 'com.google.android.gms:play-services-gcm:9.4.0' 
    compile files('importLibs/kryo-2.23.0.jar') 
    compile files('importLibs/minlog-1.3.0.jar') 
    compile files('importLibs/objenesis-2.1.jar') 
    compile files('importLibs/reflectasm-1.10.1-shaded.jar') 
} 

ProGuard файл

 proguard-rules.pro 
    -dontwarn com.esotericsoftware.** 
    -dontwarn org.objenesis.** 
    -keep class com.esotericsoftware.**{*;} 

Что именно мне нужно написать, чтобы заставить его работать?

+0

проверить 'importLibs'. комментируйте 'компилировать файлы ('importLibs/minlog-1.3.0.jar')' и убедитесь, что set 'multiDexEnabled true' –

+0

Комментирование' minlog-1.3.0.jar' только делает 'reflectasm-1.10.1-shaded.jar 'имеют ту же проблему. Комментируя оба варианта, приложение не может функционировать. – user3635998

ответ

0

У меня была аналогичная проблема, и я решил его только в том числе retrofit: 'com.squareup.retrofit:retrofit:1.9.0'

Я надеюсь, что это поможет вам тоже.

1

Там может быть случай, когда библиотека является частью другой библиотеки, которую вы импортировали в проекте Проверьте дерево Lib зависимостей, используя следующую команду для Android, используйте эту строку

gradle app:dependencies 

или если у вас есть Gradle обертка:

./gradlew app:dependencies 

Или еще есть менее популярный Android студии плагин называется GradleView, который может дать вам всю Lib дерево, используемые в приложении, а также, где это может быть сталкиваясь Wi й другой библиотеки.

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