Glide异常:Failed to find GeneratedAppGlideModule 解决实践
一个有点匪夷所思的Glide Bug
情况
App采用Glide做加载网络图片功能。稳定版本的App,突然有很多图片无法加载出来,经排查,除了Glide框架已经缓存过的图片其他图片都触发了Glide.onError
异常为
Failed to find GeneratedAppGlideModule.You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored大意是系统无法生成GlideModule。
我的编译环境:
Kotlin版本 1.3.61AndroidStudio版本 3.6 //build.gradleimplementation 'com.github.bumptech.glide:glide:4.9.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'第一个解决方案:
无效
import com.bumptech.glide.annotation.GlideModule;import com.bumptech.glide.module.AppGlideModule;@GlideModulepublic class CMAppGlideModule extends AppGlideModule { @Override public boolean isManifestParsingEnabled() { return false; }}第二个解决方案
用Java写了CMAppGlideModule这个类后,再对build.gradle的Glide的依赖进行修改
如下:annotationProcessor 改为 kapt
implementation 'com.github.bumptech.glide:glide:4.9.0' kapt 'com.github.bumptech.glide:compiler:4.9.0'卸载掉reelase版本的Apk,重新运行安装debug模式的Apk后,恢复正常。
匪夷所思的是:
在之前的release版本中,Glide注解一直都是使用annotationProcessor 都没有出现这次的问题,所以我又将kapt改回annotationProcessor ,然后测试debug版本的App的功能,正常。
说明annotationProcessor 与 kapt并不是引起这次bug的罪魁祸首,但是release的稳定版本并无新建GlideModule的注解类也一直正常运行了很长时间。然后最近我也无法再次复现这个异常,故先记录在这里。
顺带一提
Glide的issue中也有类似的问题:

图中的解决方案:
找出依赖库中有哪个Library,重复依赖了同一个版本的Glide,也就是repacked的库,将这个库中的Glide排除掉
No comments:
Post a Comment