【问题标题】:Strange error with GLIDE while loading image on production build在生产构建上加载图像时 GLIDE 出现奇怪的错误
【发布时间】:2019-01-14 03:36:29
【问题描述】:

在我的生产应用上应用 ProGuard 之后。我们在从 URL 加载图像时遇到以下错误

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 问题和其他论坛上尝试了各种推荐的解决方案,但都没有帮助。

【问题讨论】:

    标签: android proguard okhttp android-glide okhttp3


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 2021-08-27
      • 2013-07-28
      • 2023-03-21
      • 1970-01-01
      • 2021-03-11
      • 2018-06-25
      • 1970-01-01
      相关资源
      最近更新 更多