【问题标题】:消息“颤动运行:没有连接的设备”
【发布时间】:2018-08-09 06:25:12
【问题描述】:

我正在尝试使用 Flutter(全新安装)创建示例应用程序。 Android Studio 也已安装(全新安装)。

这是flutter run的输出

flutter run
No connected devices.

flutter doctor的输出:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.1.5, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] Android Studio (version 3.0)
[!] VS Code (version 1.20.1)
[!] Connected devices
! No devices available

! Doctor found issues in 2 categories.

这个问题有解决办法吗?

【问题讨论】:

  • 您是否连接了设备(启用了 USB 调试)或正在运行模拟器?
  • flutter devices检查flutter是否可以找到任何设备
  • “未连接设备”错误通常表示您没有在设备上启用开发者选项。
  • 对我来说,这发生了大约 1 分钟,然后它似乎自行恢复。 Android Studio 立即运行良好,但 Flutter 在几乎所有方面似乎都过慢,包括让模拟器被识别。也许尝试一些耐心,喝完咖啡回来?
  • 我也遇到了同样的问题,我已经通过更换USB线解决了,因为有些数据线只是用来供电的。

标签: flutter android-studio android-emulator ios-simulator flutter-run


【解决方案1】:

Flutter 支持 iOS 和 Android 设备/模拟器。

在终端中,运行flutter devices 命令以验证 Flutter 是否识别您连接的 Android 设备。

这是一个参考文档,介绍如何设置设备/模拟器来运行您的应用程序。

对于,Android (on a Mac system)

Set up your Android device

要准备在 Android 设备上运行和测试您的 Flutter 应用,您需要一台运行 Android 4.1(API 级别 16)或更高版本的 Android 设备。

  1. 在您的设备上启用 Developer 选项和 USB 调试。 Android 文档中提供了详细说明。
  2. 使用 USB 数据线将手机插入计算机。如果您的设备上出现提示,请授权您的计算机访问您的设备。
  3. 在终端中,运行flutter devices 命令以验证 Flutter 是否能够识别您连接的 Android 设备。
  4. 通过运行 flutter run 启动您的应用。

默认情况下,Flutter 使用 ADB 工具所基于的 Android SDK 版本。如果您希望 Flutter 使用不同的 Android SDK 安装,则必须将 ANDROID_HOME 环境变量设置为该安装目录。

Set up the Android emulator

要准备在 Android 模拟器上运行和测试您的 Flutter 应用,请按以下步骤操作:

  1. 在您的计算机上启用 VM 加速。
  2. 启动 Android Studio → 菜单 ToolsAVD Manager 并选择 Create Virtual Device。
  3. 选择设备定义并选择下一步
  4. 为您要模拟的 Android 版本选择一个或多个系统映像,然后选择下一步。建议使用 x86 或 x86_64 图像。
  5. 在 Emulated Performance 下,选择 Hardware - GLES 2.0 以启用硬件加速。
  6. 验证 AVD 配置是否正确,然后选择 完成

有关上述步骤的详细信息,请参阅管理 AVD

  1. 在 Android 虚拟设备管理器中,单击工具栏中的 运行。模拟器启动并显示您选择的操作系统版本和设备的默认画布。
  2. 通过运行flutter run 启动您的应用程序。连接的设备名称为为构建的Android SDK,其中platform为芯片家族,如x86。

使用 Android Studio 打开和连接设备:

这是打开和连接模拟器/设备的更简单方法。

Android Studio 显示模拟器/模拟器(安装在您的系统中)或设备(连接到您的系统)列表。只需从列表中选择您要打开的设备,然后运行该项目。

【讨论】:

  • 我无法让它工作。模拟器运行得很好。我可以向其部署和运行 Android 应用程序。但是Android工作室的flutter项目一直抱怨没有模拟器。
  • 同样,我收到“未找到连接的设备;请连接设备,或查看 flutter.io/setup 以获取入门说明。”同时,我可以看到模拟器在同一个屏幕上,启动并运行。
  • {已解决} 经过一段时间的试用,我知道这个问题是由损坏的 adb 文件引起的(默认情况下,“flutter devices”将调用 SDK 提供的“adb”文件,例如我的 adb.exe 文件存在于“C:\Android\Sdk\platform-tools”中)。解决这个问题的方法是用另一个 adb 文件替换该文件(确保您已经完成了以前的备份),您可以将原来的 adb 替换为我的 adb 文件,您可以在以下链接下载该文件:gofile.io/?c=c0M3DC。谢谢
  • mac上的ios怎么样?我有几台 Mac,而我的 2012 MBA (USB-A) 只有在运行 iTunes 时才能使连接可用。将同一设备连接到我的 2019 MBA (USB-C) 颤振无法识别该设备,即使 iTunes 可以,
  • 关于 iOS 的解决方案:我有 2 个 Xcode,默认情况下,android studio 指向 11.4,但它从 11.3(较低版本)打开模拟器,我刚刚打开了一个新模拟器版本 11.4 和 Android Studio 检测到它。
【解决方案2】:

用途:

flutter config --android-sdk ANDROID_SDK_PATH

或者

  • 未找到设备(在 Android Studio 中设置 Flutter 时)
  • 项目结构 -> 在 Project SDK 中选择最新的 Android API

【讨论】:

  • 通过设置 Project SDK 和 Module SDK 来修复它。谢谢。
  • 这解决了我的问题。我有正在运行的设备,但颤振无法检测到它们。
  • 也为我解决了。谢谢!
  • 为我工作。未选择任何 SDK
  • 也为我解决了。
【解决方案3】:

这是我的解决方案:

我的“开发者选项”是ON,但“USB Debugging”是OFF。 p>

于是我打开了USB调试,问题就解决了。

【讨论】:

    【解决方案4】:

    在我运行之前,这些建议都不起作用:

    flutter config --android-sdk ANDROID_SDK_PATH
    

    使用“PATH”=您的路径。例如:

    flutter config --android-sdk C:\Users\%youruser%\AppData\Local\Android\Sdk
    

    【讨论】:

    • 之后得到unable to locate Android SDK
    • @eggrobot78 能够通过将 Android SDK 安装位置添加为 ANDROID_HOME 的环境路径变量来解决此问题。
    • “PATH”是指“ANDROID_SDK_PATH”吗?或者是其他东西?你能详细说明吗?请通过editing your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
    【解决方案5】:

    我使用 Flutter 控制台解决了 Flutter 的 AVD 问题。

    第 1 步:

    C: \ Users \ valer> flutter emulators
    6 available emulators:
    
    3.2_QVGA_ADP2_API_22 _-_ Lollipop • 3.2in QVGA (ADP2) • Generic • 3.2 QVGA (ADP2) API 22 - Lollipop
    Android_ARMv7a
    Android_Accelerated_x86
    Nexus S API Google Nexus S API 23
    Nexus_S_API_25_1080x1920_Nougart_7.1.1_ • pixel • Google • Nexus S API 25 1080x1920 (Nougart 7.1.1)
    Pixel_API_28 • pixel • Google • Pixel API 28
    

    要运行模拟器,请运行flutter emulators --launch <emulator id>

    第 2 步:

    C: \ Users \ valer> flutter emulators --launch Pixel_API_28
    

    【讨论】:

    • “牛轧糖”?不应该是Nougat吗?这是实际的输出吗(它似乎已经被操纵了)?
    【解决方案6】:

    就我而言

    菜单文件项目结构

    选择最新的 SDK:

    【讨论】:

    • 这个答案对我也有帮助。谢谢。
    • 如果没有option项目结构,重启android studio
    • 这个答案很有帮助,解决了问题..非常感谢
    • 这就是我的答案!非常非常感谢。
    【解决方案7】:

    我遇到了和你一样的问题。原来你的设备没有和你的电脑连接。

    注意:

    • 如果您使用Xcode,如果您的计算机和设备都使用相同的Wi-Fi AP,则您不必将设备与计算机连接。
    • 对于在终端命令下运行的 Android 或 iOS,如果您使用命令行来运行它,则必须确保它们通过 电缆 连接。共享同一个 Wi-Fi AP 不起作用。 确保您的设备已真正连接。
    • 确保您在 Android 设备上允许 USB 调试

    如果还是不行,试试下面的命令,你可以得到更丰富的信息和细节:

    flutter run --verbose
    

    【讨论】:

    • 我也遇到过同样的问题,VS Code 可以运行 Flutter 但终端不能。我想知道是否有一个我遗漏的论点可以使它起作用?这似乎没有意义;我认为 VS Code 或 XCode 命令只是作为 CLI 的前端。
    【解决方案8】:

    我需要做什么:

    flutter emulators
    

    它将列出所有可用的模拟器。对于 iOS,您需要先打开模拟器。

    flutter emulators --launch EMULATOR NAME
    

    这将启动模拟器。

    然后构建它:

    flutter run -d "EMULATOR ID"
    

    【讨论】:

    • 列出模拟器的目的是为了得到模拟器ID吗?或者是其他东西?你能在你的回答中说得更清楚吗?您能否提供模拟器 ID 的示例“构建它”中的“它”指的是什么?建造什么?请通过editing your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
    【解决方案9】:

    我使用 Genymotion 运行我的,这可能是 Flutter 的最佳选择。

    设置不那么痛苦,但请确保将 ADB 设置为:

    您的 Andouird SDK 路径

    我的是 C:\Users\user\AppData\Local\Android\Sdk

    【讨论】:

    • 谢谢。我重新安装了 Genymotion 并且不得不这样做。
    • Genymotion isis 更轻。
    • 在 Windows 10 上,我必须重新启动计算机才能正常工作
    【解决方案10】:

    有时您拥有完美的一切,但该设备不再在 ADB 上获得授权。在这种情况下,您有 ADB,但它不会在连接的设备中显示。

    修复此问题的步骤

    1.检查是否授权: 打开终端/cmd/PowerShell 并写入adb devices。它会显示所有连接到 PC 的设备。

    <ANDROID_SDK_HOME>\platform-tools>adb devices
    List of devices attached
    4df798d76f98cf6d        unauthorized
    

    2。撤销手机USB调试

    如果设备显示为未授权,进入手机的开发者选项,点击“撤销USB调试授权”(用Android 4.1(果冻豆)和Samsung Galaxy S III测试)。

    3.重启亚行服务器:

    adb kill-server
    adb start-server
    

    4.重新连接设备并再次运行以下命令:adb devices

    现在应该显示授权

    5.准备好了。

    现在,打开您的编辑器、Android Studio 或 Visual Studio Code,并检查您的设备是否显示在已连接的设备中。

    您可以使用flutter doctor 命令简单地检查。

    【讨论】:

      【解决方案11】:

      对于 Windows 用户,

      为 Flutter SDK 设置环境变量PATH (...\flutter_windows_v0.2.8-beta.zip\flutter\bin)

      No device connect

      更多信息可以查看博文Flutter - How to install Flutter in Android Studio

      以下是来自上述页面的信息:

      将 Flutter 添加到 Windows 环境变量PATH

      1. 导航到 Flutter SDK 文件夹。
      2. 进入 bin 文件夹并复制目录路径(在您的情况下为 C:\Flutter\bin
      3. 转到“控制面板 > 用户帐户 > 用户帐户 > 更改我的环境变量”
      4. 在“用户变量”下,选择PATH 变量并点击编辑
      5. 放入 C:\Flutter\bin 并应用。

      和 Flutter 环境一样,如果在自定义位置,我们必须设置 Android SDK 路径。

      1. 导航到 Android SDK 文件夹。
      2. 复制目录路径(在您的情况下为..AndroidStudioSDK\sdk
      3. 转到控制面板* → 用户帐户用户帐户更改我的环境变量
      4. 在“用户变量”下选择PATH变量并点击编辑
      5. 输入..AndroidStudioSDK\sdkANDROID_HOME 并申请。

      提示:

      如果您遇到以下问题,

      1.[✗] Android 工具链 - 为 Android 设备开发 ✗ 无法定位 Android SDK。 从https://developer.android.com/studio/index.html 安装 Android Studio 首次启动时,它将帮助您安装 Android SDK 组件。 (或访问https://flutter.io/setup/#android-setup了解详细说明)。

      如果 Android SDK 已安装到自定义位置,请将 $ANDROID_HOME 设置为该位置。

      您可以使用以下命令解决它。

      flutter config --android-sdk &lt;android-sdk-location&gt; 要么 flutter config --android-sdk "android-sdk-location"

      1. 错误:未知参数 --licenses

      您可以使用以下命令解决它。

      flutter -v doctor --android-licenses

      现在,选择您要使用的模拟器,然后单击绿色箭头运行项目。所以,这里是已经设计好的默认屏幕。

      【讨论】:

      • ..AndroidStudioSDK\sdk 似乎不正确。应该是..\AndroidStudioSDK\sdk?请通过editing your answer 回复(适当的),而不是在 cmets 中(没有“编辑:”、“更新:”或类似内容 - 答案应该看起来好像今天写的)。
      【解决方案12】:

      我使用的是 Linux,以下是可以提供帮助的步骤。首先以root权限打开Android Studio,(Windows:右键程序图标→选择以管理员身份运行,Linux:终端中的sudo ./studio.sh

      1. 使用硬件 - 硬件加速中的 GLES 2.0 创建模拟器as mentioned here。在 Android Studio 中打开终端 (Alt + F12)。

        运行命令flutter devices并查看设备列表:

        root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# 颤振设备 哇!您似乎正试图以 root 身份运行颤振。 我们强烈建议在没有超级用户权限的情况下运行 Flutter 工具。

        1 个连接的设备:

        为 x86 构建的 Android SDK • emulator-5554 • android-x86 • Android 8.1.0 (API 27)(模拟器)

      最后从终端运行flutter run

      root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter run
         Woah! You appear to be trying to run flutter as root.
         We strongly recommend running the flutter tool without superuser privileges.
      
      
      Using hardware rendering with device Android SDK built for x86.
      If you get graphics artifacts, consider enabling software rendering
      with "--enable-software-rendering".
      Launching lib/main.dart on Android SDK built for x86 in debug mode...
      Initializing gradle...                                       0.7s
      Resolving dependencies...                                    1.2s
      Running 'gradlew assembleDebug'...                           1.5s
      Built build/app/outputs/apk/debug/app-debug.apk.
      I/FlutterActivityDelegate(25096): onResume setting current activity to this
      Syncing files to device Android SDK built for x86...
      D/        (25096): HostConnection::get() New Host Connection established
      0xe8487780, tid 25116
      D/EGL_emulation(25096): eglMakeCurrent: 0xe5b3d8a0: ver 2 0 (tinfo 0xe84832f0)
      
      ?  To hot reload changes while running, press "r". To hot restart (and
      rebuild state),press "R".An Observatory debugger and profiler on
      Android SDK built for x86 is available at: http://127.0.0.1:8100/
      For a more detailed help message, press "h". To quit, press "q".
      

      请检查您的 project.Configure 文件 from this answer 中的 flutter-sdk 路径。

      1. 从项目结构中设置项目的项目SDK

        File &gt; Project Structure &gt; Project SDK &gt; "available sdk" &gt; Apply

      【讨论】:

        【解决方案13】:

        我在使用 Flutter 时遇到了同样的问题。但我找到了另一种工作方式,即,

        1. 首先运行安卓模拟器

        2. 然后转到你的 Flutter 控制台

        3. 运行命令flutter doctor,然后检查你的模拟器是否显示在连接设备标签下,例如,

        4. 现在通过 Flutter 控制台转到您的 Flutter 项目路径。例如,对我来说是D:\FlutterWorkspace\flutter_demo

        5. 然后运行flutter run 命令。例如,

          稍等片刻。您将看到您的应用在 Android 模拟器中运行。

        【讨论】:

          【解决方案14】:

          如果你有

          • 已下载 Flutter SDK
          • 已连接您的移动设备并在移动设备上启用开发者选项并允许 USB 调试。

          如果您仍然收到“未连接设备”,那么我认为您应该安装 ADB 驱动程序。

          它对我有用!

          Click here to download

          【讨论】:

            【解决方案15】:

            至少应连接一台设备/模拟器以运行Flutter 应用程序。

            还要确保在开发人员设置中启用了 USB 调试。

            【讨论】:

              【解决方案16】:

              到目前为止我还没有看到提到的一个选项是(对于我的设置)开发人员选项“选择 USB 配置”必须设置为 MTP(媒体传输协议)。

              【讨论】:

              • 全部:解释是什么?
              【解决方案17】:

              实际答案对我不起作用。

              但是在你的~/.bash_profile 文件中设置ANDROID_HOME,注销,然后登录,它就可以工作了!

              这可能是 Android Studio 问题,因为它没有为打开的项目设置此环境变量。

              【讨论】:

                【解决方案18】:

                我在使用本地 Flutter 引擎进行调试时遇到了同样的问题。在这种情况下,如果您设置了环境变量FLUTTER_ENGINE,则应取消设置并重新启动IDE。

                【讨论】:

                  【解决方案19】:

                  按照以下步骤操作:

                  Menu File -> Project Structure -> Project SDK(在Android SDK中选择SDK Path) -> OK

                  确保您的设备已连接到 PC。

                  打开 Git Bash 并输入:

                  flutter devices
                  

                  然后运行您的 Flutter 应用。它会起作用的。

                  【讨论】:

                    【解决方案20】:

                    第 1 步:要检查连接的设备,请运行:flutter devices

                    第 2 步:如果可用模拟器列表中没有任何连接的设备,请运行:flutter emulators

                    第 3 步:要运行模拟器,请运行:flutter emulators --launch &lt;emulator id&gt;

                    第四步:如果没有可用的模拟器,运行:flutter emulators --create [--name xyz]

                    ==> 对于 Android:

                    第 1 步:要查看模拟器列表,请运行:emulator -list-avds

                    第 2 步:现在启动模拟器,运行:emulator -avd avd_name

                    ==> 对于 iOS:

                    第 1 步: open -a simulator

                    第 2 步: flutter run(在您的应用目录中)

                    【讨论】:

                      【解决方案21】:

                      Flutter 需要一个设备来运行应用程序。有两种选择。

                      1. 在您的真手机上运行该应用程序。
                      2. 在您计算机的虚拟设备上运行应用程序。

                      我会推荐选项 1,因为它不使用您的设备资源并且速度更快。

                      选项 1:

                      解锁手机上的开发者选项,进入开发者设置,开启USB调试,然后将手机连接到电脑。现在运行flutter run,它就可以工作了。

                      选项 2:

                      打开 Android Studio,转到 AVD 管理器,添加虚拟设备(如果您还没有这样做)并运行虚拟设备。现在再次运行flutter run,它应该可以工作了。

                      请注意,这种方式适用于任何虚拟设备,而不仅仅是 Android Studio 中的虚拟设备。

                      【讨论】:

                        【解决方案22】:

                        在将“ANDROID_HOME”更改为环境变量并将其设置为您的 Android SDK 的位置后,我解决了问题...在我的情况下为 C:\Android\Sdk

                        【讨论】:

                        • 谢谢亲爱的,经过一段时间评估其他方法后,它解决了我的问题。
                        • “将“ANDROID_HOME”更改为环境变量”是什么意思?你能详细说明吗?请通过editing your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
                        【解决方案23】:

                        上述解决方案均不适用于我,但我能够通过使 catch 无效并重新启动我的 Android Studio 来解决它:

                        菜单文件使捕获无效/重新启动...

                        编辑:::

                        清除 Android Studio 的缓存并使其摆脱混乱状态

                        选择“文件 > 使缓存无效/重新启动”,然后单击“无效并重新启动”按钮。

                        清理并重建您的项目。

                        【讨论】:

                        • “使catch无效”是什么意思?你能详细说明一下吗?
                        • 通过“无效捕获”,您将删除虚拟文件系统缓存以及存储在本地历史记录中的信息。此操作可能有助于故障排除,因为 IDE 会缓存有关项目结构的信息。
                        【解决方案24】:

                        注意:我使用的是运行 Android 10 的 Mi (Xiaomi) 手机 (Redmi K20 Pro)

                        您需要做两件事来显示您的设备列表。

                        1. 转到您的 Android Studio,menuFileProject Structure 并从选项中选择项目 SDK。我从菜单中选择了最新的。

                        2. 当您将真实设备连接到 PC/笔记本电脑时,请确保选择传输照片 (PTP) 模式

                        注意不要选择 文件传输模式。它不会起作用。

                        做完以上两件事后,你可以在命令提示符下写flutter devices查看你的设备可用性状态。

                        我希望它显示您的移动设备。

                        【讨论】:

                          【解决方案25】:

                          我遇到了同样的问题。设置Android SDK也是一个正确的答案。但这很简单-

                          1. 将 Android 项目导入新的 Android Studio 窗口。
                          2. 关闭您当前的 Flutter 项目 Android Studio 窗口。
                          3. 将该 Flutter 项目导入新的 Android Studio 窗口。

                          【讨论】:

                            【解决方案26】:

                            它基本上需要一个“连接”到您的开发机器的设备。如果您使用的是在机器上运行的模拟器/模拟器,它应该会自动被识别为连接的设备。另一种方法是连接物理设备,Android 和 iOS 设备的设置过程略有不同。

                            【讨论】:

                              【解决方案27】:

                              这对我有用:

                              进入设置>开发者选项>禁用USB调试>重新启用USB调试

                              【讨论】:

                                【解决方案28】:

                                对于 Windows 用户,

                                我的解决方案是以管理员身份运行 Android Studio

                                【讨论】:

                                  【解决方案29】:

                                  对我来说是

                                  1. 将“ANDROID_HOME”添加到环境变量并将其设置为D:\dev\android\(对我而言)

                                  2. 将“D:\dev\android\platform-tools”(对我来说)添加到环境变量 PATH我之前把flutter放在那里

                                  3. OKOKOK。重启 Android Studio

                                  【讨论】:

                                  • 你说的“我之前放过flutter”是什么意思
                                  【解决方案30】:

                                  就我而言,flutter devices 正确显示了我的设备,flutter run 按预期工作。但该设备未在 Android Studio 中显示。

                                  这是我的解决方案:

                                  在我的.bash_profile中,Android SDK 是这样配置的:

                                  export ANDROID_SDK_ROOT="~/Library/Android/sdk"
                                  

                                  Flutter插件好像不能识别~,所以改成这样:

                                  export ANDROID_SDK_ROOT="/Users/charliema/Library/Android/sdk"
                                  

                                  重新打开 Android Studio。它奏效了。

                                  【讨论】:

                                    猜你喜欢
                                    • 2020-10-21
                                    • 1970-01-01
                                    • 2020-11-09
                                    • 2020-06-26
                                    • 1970-01-01
                                    • 2018-08-11
                                    • 1970-01-01
                                    • 2021-06-05
                                    • 2020-01-27
                                    相关资源
                                    最近更新 更多