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

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

解决方案

  • 修正Fresco依赖版本匹配
    RN 0.65内置的Fresco版本为2.5.0,你之前引入的2.0.0版本和内置版本冲突会导致GIF动画失效,修改android/app/build.gradle的dependencies配置:
// 动画GIF支持 版本需和RN 0.65内置Fresco版本一致
implementation 'com.facebook.fresco:fresco:2.5.0'
implementation 'com.facebook.fresco:animated-gif:2.5.0'
// 如需支持webp动画可额外添加下面配置
// implementation 'com.facebook.fresco:animated-webp:2.5.0'
  • 添加混淆规则(release包异常时适用)
    如果打release包时GIF无动画,在android/app/proguard-rules.pro中添加Fresco的混淆规则:
-keep class com.facebook.fresco.** { *; }
-keep interface com.facebook.fresco.** { *; }
-dontwarn com.facebook.fresco.**
  • 确认Image组件宽高配置
    检查styles.loadingGif的样式是否设置了明确固定宽高,未设置明确宽高时GIF仅会加载第一帧静态图像,示例配置参考:
const styles = StyleSheet.create({
  // 其他样式省略
  loadingGif: {
    width: 80,
    height: 80,
    resizeMode: 'contain'
  }
})
  • 全量清理缓存重新编译
    依次执行以下命令清理所有层级缓存:
# 清理依赖包重新安装
rm -rf node_modules yarn.lock package-lock.json
yarn install # 或npm install
# 清理Android构建缓存
cd android
./gradlew clean
cd ..
# 清理Metro打包缓存并启动服务
npx react-native start --reset-cache
# 新开终端执行运行命令
yarn android
  • 排查第三方库冲突
    如果项目中引入了其他图片加载、全局资源处理类第三方库,确认是否有库重写了Fresco的初始化配置,关闭了GIF动画支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:54:07