You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安卓应用添加头像功能时使用Glide出现android.support.v4.app.Fragment类未找到错误求助

解决Glide加载头像时class file for android.support.v4.app.Fragment not found错误

这个问题的根源很清晰:你当前使用的Glide 4.0.0版本是基于旧的Android Support Library开发的,而你的项目已经迁移到了AndroidX体系,两者的类库结构不兼容,才会出现找不到support库下Fragment类的报错。下面是具体的解决步骤:

1. 升级Glide到支持AndroidX的版本

Glide从4.9.0版本开始全面适配AndroidX,建议直接升级到最新稳定版,彻底解决依赖冲突问题。修改你Module级别的build.gradle中的Glide依赖:

// 替换旧的Glide依赖为最新稳定版
implementation 'com.github.bumptech.glide:glide:4.16.0'
// 若需要自定义Glide模块,添加注解处理器(可选但推荐)
annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'

2. 确认AndroidX迁移配置完整

检查项目根目录下的gradle.properties文件,确保以下两个配置项存在且为true,Jetifier会自动将旧的support库依赖转换为AndroidX版本:

android.useAndroidX=true
android.enableJetifier=true

3. 优化Glide上下文的使用

虽然Glide.with(getApplication())可以运行,但更推荐绑定当前组件的生命周期,避免潜在内存泄漏:

  • 如果代码在Activity中,修改为:
Glide.with(this).load(profilepic).into(imageView);
  • 如果代码在Fragment中,修改为:
Glide.with(getContext()).load(profilepic).into(imageView);

额外代码简化建议

你当前代码中同时通过Users对象和强转Map获取数据,可以简化为直接从usersnapshot获取头像Uri:

// 前提是Users类已实现getProfileImageUri()方法
String profilepic = usersnapshot.getProfileImageUri();
if(profilepic != null){
    Glide.with(this).load(profilepic).into(imageView);
}

这样代码更简洁易维护。

完成以上操作后,同步Gradle并重新运行项目,这个错误应该就能解决了。

内容的提问来源于stack exchange,提问作者Mohammad Yusuf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 21:29:11