VSCode和flutter,如何连接多个设备?

Posted

技术标签:

【中文标题】VSCode和flutter,如何连接多个设备?【英文标题】:VSCode and flutter, how to connect multiple devices? 【发布时间】:2018-11-25 10:23:22 【问题描述】:

我在 macOS 上使用 Visual Studio Code 来开发 Flutter 应用程序。

我可以在 VSC 的左下角选择一个设备。我还可以使用flutter run -d all 在多个设备上运行。我想知道如何使用 VSC 中的调试控制台在多个设备上运行。或者,至少调试一台设备,但显示所有设备的更新。

谢谢

【问题讨论】:

【参考方案1】:

如果您使用的是最新版本的 Flutter 和 Dart/Flutter 扩展(2019 年 12 月起),现在可以使用 VS Code 的复合启动配置来支持。

您的.vscode/launch.json 应包含每个设备的条目及其deviceId(这是您将传递给flutter run -d xxx 的ID):


    "version": "0.2.0",
    "configurations": [
        
            "name": "Current Device",
            "request": "launch",
            "type": "dart"
        ,
        
            "name": "android",
            "request": "launch",
            "type": "dart",
            "deviceId": "android"
        ,
        
            "name": "iPhone",
            "request": "launch",
            "type": "dart",
            "deviceId": "iphone"
        ,
    ],
    "compounds": [
        
            "name": "All Devices",
            "configurations": ["Android", "iPhone"],
        
    ]

有关详细信息,请参阅https://github.com/flutter/flutter/wiki/Multi-device-debugging-in-VS-Code。

【讨论】:

查看您的答案。目前支持 很好的参考。那篇文章中缺少的一件事是如何找到您的deviceId(例如,如果您以后必须设置一个新的)--- 从终端运行flutter devices。第一列是设备名称;第二个是deviceId。这帮助我找到并设置了我的 Android deviceId,并启动了我的 Android 模拟器。但是,configurations 列表中iPhonedeviceId(在创建launch.json 时设置)与flutter devices 结果中的deviceId 不匹配,但是... iPhone 模拟器仍然有效,并且与 Android 模拟器一起出现。【参考方案2】:

这个怎么样,它对我有用

flutter run -d all

【讨论】:

【参考方案3】:

你只能同时运行两个设备或两个虚拟机 一个使用命令flutter run -d <put the id of the device>

另一个使用 f5 并选择另一个设备

【讨论】:

不,您实际上可以运行两个以上。我有 2 个模拟器和一个正在运行的设备。【参考方案4】:

在 Flutter 1.12 中支持 VS Code 中的多设备调试 https://github.com/flutter/flutter/wiki/Multi-device-debugging-in-VS-Code

【讨论】:

【参考方案5】:

如果你有不同的风格,你可以配置你的launch.json配置如下。


"version": "0.2.0",
"configurations": [
      // config "Run Dev Android" and "Run Dev Iphone" will be user for multiple debuging,
    
        "name": "Run Dev Android",
        "request": "launch",
        "deviceId": "SM",
        "type": "dart",
         "program": "lib/app/flavors/main_development.dart",
         "flutterMode": "debug",
         "args": [
             "--flavor", "development",
         ]
       
    ,
    
        "name": "Run Dev Iphone",
        "flutterMode": "debug",
        "deviceId": "Iphone",
         "program": "lib/app/flavors/main_development.dart",
         "type": "dart",
         "args": [
             "--flavor", "development",
         ]
    ,
    
        "name": "Run Dev",
        "program": "lib/app/flavors/main_development.dart",
        "flutterMode": "debug",
        "deviceId": "Android",
        "type": "dart",
        "args": [
            "--flavor", "development",
        ]
    ,
    
        "name": "Run Stage",
        "program": "lib/app/flavors/main_staging.dart",
        "flutterMode": "debug",
        "type": "dart",
        "args": [
            "--flavor", "staging"
        ]
    ,
    
        "name": "Run Prod",
        "program": "lib/app/flavors/main_development.dart",
        "flutterMode": "release",
        "type": "dart",
        "args": [
            "--flavor", "production"
        ]
    ,
],
"compounds": [
        "name": "All Devices",
        "configurations": ["Run Dev Android", "Run Dev Iphone"],
       
    ]


现在您可以选择All Device 并点击运行。

【讨论】:

以上是关于VSCode和flutter,如何连接多个设备?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:如何使用 Firebase PhoneNumberAuth 修复丢失与设备的连接错误

flutter 蓝牙ble(blue tooth),同时连接多台/多个设备

我可以在我的物理 iPhone 设备上从 VSCode (Windows) 测试我的 Flutter 应用程序吗?

如何在android studio或vscode中搜索整个Flutter源码

如何将 VS Code 中的 Flutter 与 BlueStacks 4 模拟器连接起来?

VSCode Flutter 未检测到像素 3