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

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版本的旧版本:

  1. 修改pubspec.yaml中的rive依赖版本,示例:
    rive: ^0.7.14
    
  2. 执行命令更新依赖:
    flutter pub get
    

内容的提问来源于stack exchange,提问作者pomoworko.com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:24:31