在混合开发模式下进行调试
调试混合开发的模块
当你将 Flutter 模块集成到项目中并使用 Flutter 的平台 APIs 来运行 Flutter 引擎和/或 UI 时,你可以与平时运行 Android 或 iOS 应用程序一样,构建和运行你的应用。
但就目前而言,Flutter 需要在 FlutterActivity
或 FlutterViewController
中展示 UI 内容。
调试
你可能习惯于在 IDE 中运行 flutter run
或者等效的快捷命令,它会自动启动你喜爱的 Flutter 调试工具。同样的,你也可以使用所有 Flutter 的 调试功能,例如热重载、性能调试、DevTools 以及在混合开发的场景中设置断点。
这些功能由 flutter attach
机制提供。
flutter attach
可以通过不同的路径启动,例如通过 SDK 中的命令行工具、VS Code 或者 IntelliJ/Android Studio。
flutter attach
可以在你运行 FlutterEngine
时立即进行连接,并在 FlutterEngine
被释放之前一直保持连接。你可以在启动引擎之前执行 flutter attach
,它将等待下一个由引擎持有的 Dart VM 进行连接。
终端
在终端执行 flutter attach
或者 flutter attach -d deviceId
来连接你的应用。
VS Code
在 VS Code 中的状态栏中选择待调试的设备,然后在命令面板运行 Flutter: Attach to Flutter on Device 命令。
或者,在你的 Flutter 模块下创建一个 .vscode/launch.json
文件,使用 Run > Start Debugging 命令或按下 F5
。
{
name: "Flutter: Attach",
request: "attach",
type: "dart",
}
IntelliJ / Android Studio
选择要运行 Flutter 模块的设备,然后点击右边的 flutter attach
按钮。