跳到主要内容

常见问题

常见的 Flutter 运行时问题和修复方法。

Flutter 构建失败时,我应该首先查看哪里?

从以下文档开始:

大多数构建问题来自设置/版本不匹配、过时的原生构建产物或跳过的原生设置。清理重建通常可以解决问题:

flutter clean
flutter pub get
flutter run

如果原生库未下载,为目标平台运行 rive_native 设置 CLI:

dart run rive_native:setup --verbose --clean --platform <platform>

<platform> 替换为你构建的目标平台(例如 androidmacos)。 你也可以将多个平台作为逗号分隔的列表提供(例如 android,ios,macos)。

如果仍然出现设置错误,请按照 Rive Native 故障排查 进行排查。对于 Android 特定的设置问题,请参见 Android 说明

LateInitializationError: Field 'makeFlutterFactory' has not been initialized

如果你看到类似 LateInitializationError: Field 'makeFlutterFactory' has not been initialized 的错误,请确保在显示任何 Rive 组件之前初始化 Rive。

尽早调用 await RiveNative.init()(例如在 main() 中),在创建或使用 Factory.flutter/Factory.rive 之前。

import 'package:flutter/widgets.dart';
import 'package:rive/rive.dart';

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await RiveNative.init();
runApp(const MyApp());
}

如何在 Android 上启用 16KB 页面支持?

Rive Flutter 0.14.x 默认包含 16KB 页面支持。

如果你使用的是 0.13.x,需要在 gradle.properties 文件中通过设置 rive.ndk.version=28.1.13356709 来指定使用的 NDK 版本。

这为你提供了 16KB 页面支持以及控制未来更新所用 NDK 的灵活性。

更多上下文信息,请参见 rive-flutter issue #479