zoukankan      html  css  js  c++  java
  • Glide异常:Failed to find GeneratedAppGlideModule 解决实践

    情况

    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.61
    AndroidStudio版本 3.6 
    
    //build.gradle
    implementation '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;
    
    @GlideModule
    public 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的功能,正常。

    说明annotationProcessorkapt并不是引起这次bug的罪魁祸首,但是release的稳定版本并无新建GlideModule的注解类也一直正常运行了很长时间。然后最近我也无法再次复现这个异常,故先记录在这里。

    顺带一提

    Glide的issue中也有类似的问题:

    image-20200513212634574

    图中的解决方案

    找出依赖库中有哪个Library,重复依赖了同一个版本的Glide,也就是repacked的库,将这个库中的Glide排除掉

  • 相关阅读:
    numpy 加速 以及 ipython
    sublime 插件
    doc文件转txt
    xls文件转化txt
    jmlr论文下载
    R 画地图
    shell并行处理
    Idea 配置
    beta函数分布图
    winEdt 使用
  • 原文地址:https://www.cnblogs.com/DMingO/p/12885257.html
Copyright © 2011-2022 走看看