Flutter开发HarmonyOS鸿蒙Next应用的时候如何拿到FlutterEngine的observatoryUrl

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 Flutter

Flutter开发HarmonyOS鸿蒙Next应用的时候如何拿到FlutterEngine的observatoryUrl
如何拿到FlutterEngine的observatoryUrl,想在调试flutter连真机的时候用.

3 回复

控制台没有输出吗?

输入图片说明 可以打开。

你也可以使用VM Service包用代码链接vm

写个 channel 从 dart 侧拿

Service.getInfo().then((value) {
  debugPrint('The Dart VM service is listening on ${value.serverUri}');
}).catchError((error) {
  debugPrint('----> failed to get observatory uri: $error');
});

在Flutter开发HarmonyOS鸿蒙Next应用时,要获取FlutterEngineobservatoryUrl,你需要确保已经正确初始化了Flutter引擎并启用了调试模式。以下是一个大致的步骤和代码示例:

  1. 初始化FlutterEngine:确保你的应用已经创建并初始化了FlutterEngine

  2. 启用调试模式:在创建FlutterEngine时,确保设置了适当的调试参数。

  3. 获取observatoryUrl:在FlutterEngine启动后,你可以通过监听DartVMServiceExtension来获取observatoryUrl。通常,这个URL会在FlutterEngine完全启动并加载完Dart代码后生成。

示例代码:

FlutterEngine flutterEngine = new FlutterEngine(context);
flutterEngine.getDartExecutor().executeDartEntrypoint(
    DartExecutor.DartEntrypoint.createDefault()
);

flutterEngine.getDartExecutor().executeDartEntrypoint(
    new DartExecutor.DartEntrypoint(
        "lib/main.dart", // 你的Dart入口文件
        null
    )
).addCompletionListener(
    task -> {
        if (task.isSuccessful()) {
            // 理论上,这里可以尝试获取observatoryUrl,但具体实现依赖于FlutterEngine的API
            // 通常,你可能需要通过某种回调或监听器来获取它
        }
    }
);

注意,具体获取observatoryUrl的API可能因Flutter和HarmonyOS的版本而异。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部