Glide的 java.lang.RuntimeException: Expected instanceof GlideModule, but found:X.GlideModule@2e4554f


問題一

在添加過混淆規則后,App打包的時候,發現報錯了

     java.lang.RuntimeException: Expected instanceof GlideModule, but found: com.kevin.play.view.GlideModule@2e4554f
     at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:87)
     at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:47)

這意思是ManifestParser解析出問題了,可以看到

 /**
   * Returns {@code true} if Glide should check the AndroidManifest for {@link GlideModule}s.
   *
   * <p>Implementations should return {@code false} after they and their dependencies have migrated
   * to Glide's annotation processor.
   *
   * <p>Returns {@code true} by default.
   */
   public boolean isManifestParsingEnabled() {
    return true;
  }

依賴中使用了Glide的 annotation processor.需要在他的實現類里返回false
所以解決方案是在你自己寫的實現AppGlideModule那個類中添加如下方法即可:

   @Override
    public boolean isManifestParsingEnabled() {
        return false;
    }

問題二:

Unresolved reference GlideApp

解決完問題一,發現又報了問題二
原來是需要在Glide的Moudle處進行make project.
需要在使用Glide的地方使用GlideApp
make project后,發現有了GlideApp但是依然報這個錯誤,經過搜索發現,是kotlin不兼容GlideApp,就改為了Java,

參考鏈接https://stackoverflow.com/questions/46638056/how-to-use-glidemodule-on-glide-4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM