【发布时间】:2016-11-22 08:18:10
【问题描述】:
我使用过 Kryo 库,它非常好。但是,当我想创建一个签名的 APK 时,由于错误,它一直无法构建:
错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。
java.io.IOException: Can't write [C:\AndroidProjects\App\app\build\intermediates\transforms\proguard\release\jars\3\1f\main.jar] (无法读取 [C :\AndroidProjects\App\app\importLibs\minlog-1.3.0.jar(;;;;;;**.class)](重复的 zip 条目 [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.**{*;}
我需要写什么才能让它工作?
【问题讨论】:
-
检查
importLibs。评论compile files('importLibs/minlog-1.3.0.jar')并确保设置multiDexEnabled true -
注释掉
minlog-1.3.0.jar只会让reflectasm-1.10.1-shaded.jar有同样的问题。将两者都注释掉会使应用程序无法运行。
标签: java android android-gradle-plugin proguard