Flutter中如何升级Rive动画文件至7.0版本解决兼容问题?
解决Flutter中Rive动画版本兼容性问题
报错信息
Unhandled Exception: File contains version 6.3. This runtime supports
version 7.0
#0 new RuntimeHeader.read (package:rive/src/rive_core/runtime/runtime_header.dart:58:7)
#1 new RiveFile.import (package:rive/src/rive_file.dart:252:45)
#2 RiveFile.asset (package:rive/src/rive_file.dart:268:21)
相关代码片段
main.dart
void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: SimpleAnimation(), ); } }
animation.dart
import 'package:flutter/material.dart'; import 'package:rive/rive.dart'; void main() { runApp(MaterialApp(home: SimpleAnimation())); } class SimpleAnimation extends StatelessWidget { const SimpleAnimation({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return const Scaffold( backgroundColor: Colors.blueAccent, body: Center( child: RiveAnimation.asset('assets/clock.riv'), ), ); } }
pubspec.yaml
dependencies: flutter: sdk: flutter rive: ^0.9.0
解决方案
方法一:转换Rive动画文件至兼容版本
直接使用Rive官方编辑器处理旧版动画文件:
- 打开Rive编辑器,导入项目中的
clock.riv文件 - 编辑器会自动完成版本兼容转换
- 重新导出动画文件,替换项目
assets目录下的旧文件即可
方法二:降级Rive Flutter包版本
如果暂时无法转换动画文件,可将Rive包降级到支持6.3版本的旧版本:
- 修改
pubspec.yaml中的rive依赖版本,示例:rive: ^0.7.14 - 执行命令更新依赖:
flutter pub get
内容的提问来源于stack exchange,提问作者pomoworko.com
相关产品推荐
相关产品推荐

