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

React Native 0.65版本安卓端GIF无法播放动画问题求助

排查解决方案

核心问题定位

你当前配置的核心问题是手动引入了和React Native 0.65内置版本不匹配的Fresco核心依赖包,RN本身已经内置了对应版本的Fresco,额外指定低版本的fresco主包会导致类加载冲突,GIF动画渲染逻辑不生效。

修复步骤

第一步:修正build.gradle依赖配置

删除/android/app/build.gradle中多余的Fresco核心依赖,替换为匹配RN 0.65版本的GIF依赖:
找到dependencies块,删除以下代码:

implementation 'com.facebook.fresco:fresco:2.4.0'
implementation 'com.facebook.fresco:animated-gif:2.4.0'
implementation 'com.facebook.fresco:webpsupport:2.4.0'

替换为:

// 适配RN 0.65版本的GIF、WebP动效支持
implementation 'com.facebook.fresco:animated-gif:2.5.0'
implementation 'com.facebook.fresco:animated-webp:2.5.0'
implementation 'com.facebook.fresco:webpsupport:2.5.0'

第二步:强制统一Fresco版本(存在多库依赖冲突时添加)

如果项目中有其他第三方库也依赖了Fresco,在项目根目录的/android/build.gradle中添加版本锁定配置,避免版本不一致导致的冲突:

allprojects {
    repositories {
        // 原有仓库配置保留
    }
    // 新增以下配置
    configurations.all {
        resolutionStrategy {
            eachDependency { DependencyResolveDetails details ->
                if (details.requested.group == 'com.facebook.fresco') {
                    details.useVersion "2.5.0"
                }
            }
        }
    }
}

第三步:彻底清理缓存重编

按顺序执行以下操作,避免残留缓存影响:

  • 关闭所有当前运行的RN打包、模拟器进程
  • 删除项目根目录的node_modules文件夹,重新执行npm install
  • 进入android目录,执行./gradlew cleanBuildCache清理构建缓存
  • 删除android/.gradle、android/app/build文件夹
  • 回到项目根目录执行react-native start --reset-cache重启打包服务
  • 重新执行react-native run-android安装应用

其他验证点

如果上述操作后问题仍存在,可逐一排查以下项:

  • 确认GIF资源本身没有损坏,可在安卓系统自带相册中打开验证是否能正常播放
  • 若使用react-native-fast-image组件加载GIF,需要额外在dependencies中添加implementation 'com.github.bumptech.glide:gifdecoder:4.12.0'依赖
  • 测试安卓低版本设备是否能正常播放,排除特定系统版本的兼容问题

内容的提问来源于stack exchange,提问作者Simon Degn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:09:04