解决Android Studio中GlideApp调用报GlideRequests类型不匹配错误
Glide报错问题解决方案
1. 先修正自定义Glide模块的语法错误
你提供的MyAppGlideModule代码存在多处语法错误,会直接导致Glide注解处理器无法正常生成辅助类,是报错的核心诱因之一,修正后代码如下:
@GlideModule public class MyAppGlideModule extends AppGlideModule { @Override public void registerComponents(Context context, Glide glide, Registry registry) { // 补充缺失的逗号、修正Loader类名、补全右括号 registry.prepend(String.class, ByteBuffer.class, new Base64ModelLoaderFactory()); } }
2. 确认Glide依赖配置正确
3年前的项目使用的是Glide 4.x版本,需要在对应模块的build.gradle中配置版本一致的依赖和注解处理器:
dependencies { implementation 'com.github.bumptech.glide:glide:4.13.2' // 版本可和项目原有依赖对齐,无需强行修改 annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2' // 必须和glide核心包版本完全一致 }
注意:不要将GlideApp.with替换为Glide.with,Glide.with返回的RequestManager类型和Imageutil要求的GlideRequests类型不匹配,改了会出现新的类型错误。
3. 触发注解处理器生成代码
完成上述修正后,执行以下操作:
- 点击Android Studio菜单栏的
Build -> Clean Project - 清理完成后执行
Build -> Rebuild Project
Glide的注解处理器会自动生成GlideApp、GlideRequests等辅助类,生成完成后GlideApp.with(baseActivity)的返回值会自动匹配GlideRequests类型,报错会自动消失。
4. 异常情况排查
如果Rebuild后仍然标红,检查以下两点:
- 确保
PostViewHolder中导入的GlideApp是你项目包下自动生成的类,不是第三方包中的类 - 检查项目是否开启了增量编译,可尝试关闭增量编译后再Rebuild一次
内容的提问来源于stack exchange,提问作者Bluechip Servers
相关产品推荐
相关产品推荐

