已签名APK Proguard错误重复压缩条目okio-1.6.0.jar:okio / AsyncTimeout $ 1.class

时间:2017-07-18 07:47:22

标签: android android-proguard okio

我之前问过这个问题但是在设置 minifyEnabled = true 后生成签名的apk文件时出错了 以下是控制台中的消息显示

Warning:Exception while processing task java.io.IOException: Can't write
 [E:\andriod_app_v2\app
 \build\intermediates\transforms\proguard\release\jars\3\1f\main.jar] 
 (Can't read [C:\Users\Administrator\.gradle\
 caches\modules-2\files-2.1\com.squareup.okio\okio\1.6.0\98476622f10715998eacf9240d6b479f12c66143\okio-1.6.0.jar(;;;;;;**.class)]
 (Duplicate zip entry [f/a$1.class == okio-1.6.0.jar:okio/AsyncTimeout$1.class]))

我在stackoverflow上搜索但我没有得到任何正确的解决方案,有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

在文件proguard-rules.pro

中使用它
##--------------------------------------------------------------------------------------------------
#### -- OkHttp --
-dontwarn com.squareup.okhttp.internal.**

#### -- Apache Commons --
-dontwarn org.apache.commons.logging.**


-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
-keep class android.net.http.** { *; }
-dontwarn android.net.http.**

##--------------------------------------------------------------------------------------------------
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on RoboVM on iOS. Will not be used at runtime.
-dontnote retrofit2.Platform$IOS$MainThreadExecutor
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
-dontwarn okio.**