Glide的 java.lang.RuntimeException: Expected instanceof GlideModule, but found:
阿新 • • 發佈:2019-01-05
問題一
在新增過混淆規則後,App打包的時候,發現報錯了
java.lang.RuntimeException: Expected instanceof GlideModule, but found: [email protected]
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