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

Android Studio集成Lottie动画报Unable to parse composition错误如何解决?

问题根因分析

你的崩溃报错核心是Lottie解析动画文件失败,从异常栈Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=0 以及Color.parseColor的报错位置可以定位:你使用的Lottie JSON动画文件中存在无效的空颜色值,导致系统解析颜色时出错。设计界面的Unexpected resource type: raw报错属于Android Studio的缓存类误报,不影响实际运行,不用优先处理。


排查解决步骤

  • 第一步:修复Lottie JSON文件

    1. 首先确认你下载的JSON文件完整:打开本地的confetti.json文件,检查是否存在内容缺失、末尾截断的情况,lottiefiles下载时如果网络异常会生成不完整的损坏文件。
    2. 搜索JSON文件中的颜色属性字段,查找所有取值为空字符串的颜色值(格式类似"c":""),将空值替换为合法的十六进制颜色值,比如"#FFFFFF"即可。
    3. 可以新建空白测试项目,只引入Lottie依赖和该JSON文件测试,如果测试项目也崩溃,100%可以确定是动画文件本身的问题,换一个其他的Lottie动画文件测试即可验证。
  • 第二步:清除预览报错

    按以下操作清除Android Studio缓存即可解决设计界面的误报:
    1. 点击顶部菜单 File -> Invalidate Caches...
    2. 勾选 Clear file system cache and local history,点击Invalidate and Restart,重启IDE后报错就会消失。
  • 第三步:可选兼容调整

    如果确认文件没问题还是运行失败,可以尝试以下优化:
    1. 将JSON文件放到app/src/main/assets文件夹下,布局属性换为app:lottie_fileName="confetti.json"引用,不需要加任何路径前缀。
    2. 降级Lottie版本到兼容性更好的3.7.0版本,部分高版本Lottie对老格式动画的适配存在问题:
      implementation "com.airbnb.android:lottie:3.7.0"
      
    3. 检查项目build.gradle是否开启了资源混淆/压缩,如果开启需要把raw、assets下的Lottie文件加入白名单,避免资源被篡改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:42:01