在生产版本上加载图像时,GLIDE出现奇怪的错误

时间:2018-08-07 06:24:50

标签: android proguard okhttp android-glide okhttp3

在我的生产应用程序上应用ProGuard之后。从网址加载图片时,我们面临以下错误

E/vw: Glide failed to load image with exception: UNABLE TO LOAD PUBLICSUFFIXES.GZ RESOURCE FROM THE CLASSPATH.

java.lang.IllegalStateException: Unable to load publicsuffixes.gz resource from the classpath.

最后,我们尝试使用以下命令将整个Glide源保持在progaurd配置中

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
-keep class com.bumptech.glide.** {*;}

但仍然面临着同样的问题。

不确定要如何解决上述错误。

我们还尝试通过执行以下操作来保持错误中提到的确切路径:

-keep class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

我确实在Github问题和其他论坛上尝试了各种推荐的解决方案,但都无济于事。

1 个答案:

答案 0 :(得分:0)

在您的应用gradle文件中使用它,它将解决问题。

android {
    defaultConfig {
        multiDexEnabled true
    }
    packagingOptions {
        pickFirst  'META-INF/*'
        exclude "okhttp3/internal/publicsuffix/publicsuffixes.gz"
    }
}