Android集成LottieAnimationView触发Unknown point starts with NULL异常
解决LottieAnimationView解析JSON时的IllegalArgumentException问题
针对你遇到的Unknown point starts with NULL解析错误,以下是几种可行的解决办法:
1. 调整Lottie库版本
不同版本的Lottie对JSON格式的兼容性有差异,部分导出的JSON可能仅在特定版本下能正常解析。尝试升级或降级你的Lottie依赖版本,比如:
implementation 'com.airbnb.android:lottie:4.2.0'
替换当前项目中Lottie的版本号后,重新构建项目测试。
2. 用官方工具修复JSON格式
使用Lottie官方提供的在线JSON修复工具,将你的animation.json文件上传后进行格式修复,重新导出修复后的JSON文件替换原文件。该工具会自动修正Lottie解析器无法识别的格式问题,无需手动修改代码。
3. 代码手动加载并开启容错模式
放弃XML中直接指定资源的方式,改用代码手动加载动画,并设置Lottie的容错处理:
LottieAnimationView animationView = findViewById(R.id.loading_animation); // 手动加载JSON资源 LottieCompositionFactory.fromRawRes(this, R.raw.animation) .addListener(composition -> { animationView.setComposition(composition); animationView.setLoop(true); animationView.playAnimation(); }) .addFailureListener(throwable -> { // 解析失败时的 fallback 处理,比如显示默认加载动画 });
同时修改XML布局,移除app:lottie_rawRes、app:lottie_autoPlay、app:lottie_loop这些属性。
4. 检查动画导出设置
如果能联系到制作并导出该Lottie动画的人员,让其重新导出动画:
- 确保导出时选择兼容Android平台的选项
- 避免使用Lottie尚未完全支持的AE特效
- 导出时勾选"兼容旧版本Lottie"相关选项
内容的提问来源于stack exchange,提问作者Alex Al
相关产品推荐
相关产品推荐

