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

Android多Flutter Engine场景下,如何指定Flutter Inspector分析目标?

多Flutter Engine场景下指定Flutter Inspector分析目标的方案

方法一:通过Flutter DevTools切换Engine实例

  • 启动应用后,从Android Studio的Flutter Inspector面板右上角点击「Open DevTools」打开独立的DevTools界面
  • 在DevTools顶部的设备与应用选择栏中,会显示当前运行的所有Flutter Engine实例,每个实例对应一个FlutterFragment
  • 直接选中需要分析的Engine,即可切换到对应的Widget树视图

方法二:给Flutter Engine设置自定义名称便于识别

在Android原生代码初始化FlutterEngine时,为每个Engine设置唯一名称,这样在DevTools里能快速区分:

// 初始化第一个Flutter Engine(对应第一个Fragment)
val engine1 = FlutterEngine(context)
engine1.navigationChannel.setInitialRoute("/home")
engine1.dartExecutor.executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault())
engine1.name = "HomeFragmentEngine"

// 初始化第二个Flutter Engine(对应第二个Fragment)
val engine2 = FlutterEngine(context)
engine2.navigationChannel.setInitialRoute("/profile")
engine2.dartExecutor.executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault())
engine2.name = "ProfileFragmentEngine"

设置完成后,DevTools的Engine选择列表会显示自定义名称,无需靠默认标识猜测目标。

方法三:通过指定调试端口绑定目标Engine

  • 打开Android Studio的「Run/Debug Configurations」
  • 在对应配置的「Additional run args」中,给不同的Flutter Engine添加不同的调试端口参数:
    • 第一个Engine用:--observatory-port 8888
    • 第二个Engine用:--observatory-port 8889
  • 启动对应Fragment时,使用带有对应端口参数的配置运行,再打开Flutter Inspector连接指定端口的实例即可

内容的提问来源于stack exchange,提问作者mike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:43:11