颤动:没有连接的设备

时间:2018-03-01 08:22:41

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

我正在尝试用flutter创建一个示例应用程序(全新安装)也安装了android studio(全新安装)

以下是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.

的输出
LinearRegression

有解决方案吗?

60 个答案:

答案 0 :(得分:57)

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

  

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

以下是参考文档,如何设置设备/模拟器来运行您的应用程序。

For,Android (on mac system)

Set up your Android device

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

  1. 在您的设备上启用开发人员选项和USB调试。 Android文档中提供了详细说明。
  2. 使用USB线将手机插入计算机。如果您的设备出现提示,请授权您的计算机访问您的设备。
  3. 在终端中,运行flutter devices命令以验证Flutter是否识别已连接的Android设备。
  4. 通过运行flutter run来启动您的应用。
  5. 默认情况下,Flutter使用您的adb工具所基于的Android SDK版本。如果您希望Flutter使用Android SDK的其他安装,则必须将ANDROID_HOME环境变量设置为该安装目录。

    Set up the Android emulator

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

    1. 在您的计算机上启用VM加速。
    2. 启动Android Studio>工具> Android> AVD Manager,然后选择创建虚拟设备。
    3. 选择设备定义,然后选择下一步。
    4. 为要模拟的Android版本选择一个或多个系统映像,然后选择“下一步”。建议使用x86或x86_64图像。
    5. 在“仿真性能”下,选择“硬件 - GLES 2.0”以启用硬件加速。
    6. 验证AVD配置是否正确,然后选择完成。

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

    7. 在Android Virtual Device Manager中,单击工具栏中的“运行”。模拟器将启动并显示所选操作系统版本和设备的默认画布。

    8. 通过运行flutter run启动您的应用。连接的设备名称是为其构建的Android SDK,其中platform是芯片系列,例如x86。
    9. -

      开放&使用Android Studio连接设备:

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

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

      enter image description here

答案 1 :(得分:15)

我使用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

答案 2 :(得分:9)

我用Genymotion跑了我的,可能是Flutter最好的。

设置不那么痛苦

确保在

下设置ADB

enter image description here

- 您的ANDROID SDK路径 -

我是 C:\用户\用户\应用程序数据\本地\的Android \ SDK

答案 3 :(得分:9)

就我而言

文件>项目结构

选择最新的SDK

enter image description here

答案 4 :(得分:7)

我遇到了和你一样的问题。事实证明您的设备未与计算机连接。

注意:

  • 如果您使用的是XCode,如果您的计算机和设备使用相同的 WIFI ,则无需将设备连接到计算机。
  • 对于在终端命令下运行的Android或iOS,如果您使用命令行运行此命令,则必须确保它们通过电缆连接。共享相同的WIFI不起作用。 确保您的设备真正连接。
  • 确保您在Android设备上允许USB调试

如果这仍然无法解决,请尝试点击命令下方,以获取更丰富的信息和详细信息:

flutter run --verbose

答案 5 :(得分:5)

这是我的解决方案。希望我的困惑也能帮助其他人:

我的“开发人员选项”已启用,

但是“ USB Debbugging”已关闭。

所以我打开了USB Debbugging,问题解决了。

答案 6 :(得分:4)

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

答案 7 :(得分:4)

如果有

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

仍然仍然会出现“未连接设备”的情况,我认为您应该安装ADB驱动程序。 它为我工作! Click here to download

答案 8 :(得分:4)

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

解决此问题的步骤

1。检查是否已授权: 打开terminal / cmd / PowerShell并编写adb设备,它将向您显示所有已连接设备到PC。

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

2。撤消手机上的USB调试

如果该设备显示为未授权,请转到手机上的开发人员选项,然后单击“撤销USB调试授权”(已通过JellyBean和Samsung GalaxyIII测试)。

3。重新启动ADB服务器:

adb kill-server
adb start-server

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

现在它应该显示授权。

5。准备出发。

现在,打开编辑器Android Studio / Visual Studio Code,然后检查您的设备是否在连接的设备中显示。

您只需使用flutter doctor命令进行检查即可。

答案 9 :(得分:4)

这是我的解决方案。希望我的困惑也能帮助其他人:

我的“ 开发者选项”为打开

但“ USB Debbugging ”为 OFF

所以我打开了USB Debbugging,问题就解决了。

答案 10 :(得分:4)

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

步骤2:如果没有连接的设备可以查看可用的仿真器列表,请运行:flutter emulators

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

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

==>对于ANDROID:

步骤1:要检查仿真器列表,请运行:emulator -list-avds

步骤2:现在启动仿真器,运行:emulator -avd avd_name

==>对于iOS:

步骤1: open -a simulator

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

我希望这可以解决您的问题。

答案 11 :(得分:3)

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

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

答案 12 :(得分:3)

我有同样的问题。设置Android SDK也是正确的答案。但这很简单-

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

答案 13 :(得分:2)

实际答案对我没有用。

但是在您ANDROID_HOME中设置~/.bash_profile并注销然后登录,即可使用!

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

答案 14 :(得分:2)

我在Mac中使用Visual Studio Code,并试图在iPhone上运行浮动代码。设备未显示在状态栏中。我通过在终端中解决此问题:

rm -rf <flutter_repo_directory>/bin/cache
flutter doctor -v

这基本上将清除Flutter存储库文件夹中的所有缓存数据。因此,当您运行 flutter doctor 时,它将首先下载一些文件

答案 15 :(得分:2)

我正在使用Linux,因此以下步骤可以提供帮助。首先获得具有root用户权限的开放工作室,(窗口:右键单击程序图标>选择“以管理员身份运行” ,linux:终端中的sudo ./studio.sh

使用硬件-GLES 2.0加速硬件 as mentioned here创建仿真器。在android studio(Alt + F12)中打开终端

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

root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter devices
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.

1 connected device:

Android SDK built for x86 • emulator-5554 • android-x86 • 
Android 8.1.0 (API 27)(emulator)

最后从终端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".

并检查项目中的flutter-sdk路径。配置from this answer

答案 16 :(得分:2)

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

答案 17 :(得分:2)

对于窗口用户,

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

No device connect

有关详情,请点击此处http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

答案 18 :(得分:2)

我与Flutter面临同样的问题。但我找到了另一种工作方式,即

  1. 首先运行Android模拟器
  2. 然后转到您的Flutter控制台
  3. 运行命令flutter doctor&amp;检查您的模拟器是否在连接的设备标签下显示,例如 flutter doctor command success output

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

  5. 然后运行flutter run命令。例如flutter run等待片刻,您会看到自己的应用在Android模拟器中运行。 App is running

答案 19 :(得分:1)

在vs代码中打开终端,编写以下命令:

flutter devices

flutter daemon -v

使用cmd连接后

cd (adb folder)

adb tcpip 4455
adb connect 192.168.1.11:4455 (user your device IP)

答案 20 :(得分:1)

注意:我正在使用在Android 10上运行的Mi(Xiaomi)移动设备(Redmi K20 Pro)

您需要做两件事才能显示设备列表。

1)转到Android Studio->文件->项目结构,然后从选项中选择Project SDK。我从菜单中选择了最新的。

2)将真实设备连接到PC /笔记本电脑时,请确保选择Transfer photos (PTP) mode

注意:请勿选择文件传输模式。它不起作用。

完成上述两项操作后,您可以通过在命令提示符下写入flutter devices来检查设备可用性的状态。

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

答案 21 :(得分:1)

我正在使用genymotion测试应用 我按下运行按钮时遇到同样的问题,我在过去两个小时内都遇到此错误。 enter image description here

如何修复此错误,只需重新安装genymotion即可。

答案 22 :(得分:1)

转到文件->项目结构->项目SDK(在Android SDK中选择SDK路径)->确定 确保您的设备已连接到PC。打开GitBash并键入: 颤振装置。 然后运行您的flutter应用程序。它将运行。

答案 23 :(得分:1)

所有建议都没有奏效,直到我跑出

flutter config --android-sdk ANDROID_SDK_PATH

答案 24 :(得分:1)

到目前为止我还没有看到的一个选项是(对于我的设置)开发者选项&#39;选择USB配置&#39;必须设置为MTP(媒体传输协议)。

答案 25 :(得分:1)

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

答案 26 :(得分:1)

对于窗口用户,

对我来说,解决方案是以管理员身份运行Android Studio

答案 27 :(得分:1)

如果您已经安装并设置了模拟器,但是在运行应用程序时遇到问题,则可以尝试以下步骤来解决此问题。

步骤:

  1. 打开Android Studio
  2. 工具-> AVD管理器
  3. 虚拟设备->操作(参考图像)
  4. 点击停止
  5. 立即启动模拟器

注意-如果仍然无法使用,请通过擦除数据重试第四步。

希望这对您4个有用;)

答案 28 :(得分:1)

以上解决方案均不适合我,但我可以通过使catch无效并重新启动android studio来解决该问题:

File > Invalidate Catches / Restart...

答案 29 :(得分:1)

我需要做什么:

flutter emulators

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

flutter emulators --launch EMULATOR NAME

这将启动模拟器

并进行构建

flutter run -d "EMULATOR ID"

答案 30 :(得分:1)

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

答案 31 :(得分:0)

使用以下命令检查adb是否正在运行

adb启动服务器 比 adb设备

如果您的计算机中未安装adb,请安装它并再次运行命令。

答案 32 :(得分:0)

如果您使用的是手机,

  • 打开开发人员选项。

  • 打开USB调试选项

答案 33 :(得分:0)

我尝试了此处列出的许多建议步骤,但唯一对我有帮助的是:

文件->设置->语言和支持-> Dart ->

激活复选框“为项目启用Dart支持...”

enter image description here

答案 34 :(得分:0)

如果您的设备已经成功连接,并且突然停止被flutter devices(和Android Studio)识别,那么这对我有用:

  • 打开USB debugging 关闭
  • 转动USB debugging 后退 打开

是的。这工作了。对我来说。

答案 35 :(得分:0)

在Android Studio中,有时您需要手动启动android仿真器。

  1. 在Android Studio中,单击android(AVD管理器)图标: enter image description here

  2. 启动您的android设备。 enter image description here

  3. 等待几秒钟,然后选择您的android设备: enter image description here

答案 36 :(得分:0)

设置环境系统变量:

变量值 ANDROID_HOME D:\ Android_Sdk \ Sdk (您的路径)

答案 37 :(得分:0)

这里没有人提到要确保 Android 设备没有作为“媒体设备”连接。一旦我关闭它并将其设置为“充电”,它就起作用了。

我显然是通过 Android Studio 安装了 USB 驱动程序,并且还通过将其位置添加到“PATH”来将“adb”添加到我的系统路径的步骤。

答案 38 :(得分:0)

我的情况。在答案中我还没有找到这个解决方案。

系统

Android 10设备。

装有MacOS Mojave 10.14.6(18G4032)的Mac。

在我的Android设备上启用了开发人员选项和USB调试。

Flutter SDK已安装在我的Mac上。

问题

当Android设备已通过USB电缆连接到我的Mac时,flutter devices命令仍然显示:No devices available

解决方案

幸运的是,我的Android设备向我显示了弹出窗口,并提出了将Android File Transfer安装到Mac的建议。

在我的Mac上安装Android File Transfer后,flutter devices命令显示我的Android设备已连接。

希望这对某人有帮助。

答案 39 :(得分:0)

基本上有3个导致此问题的常见原因:

1。您的计算机上尚未安装ADB驱动程序。请确保 您已为您的Android设备安装了正确的ADB驱动程序 在您的PC上。

即使您的计算机读取了设备,也可能不会 安装了ADB驱动程序后,建议您搜索并 从Google下载适用于您的Android设备的正确ADB驱动程序 或下载ADB软件包。如果您安装了ADB而没有 工作,请尝试安装另一个ADB,因为并非所有ADB都是常见的 工作。

如果您使用的是Windows,则必须安装正确的ADB 司机,也许是S.O.运行“ Windows Update”以完成ADB 安装。

2。您的设备未启用调试器模式。它取决于每个版本的Android,通常取决于您的Android设备 你有 转到配置菜单,然后打开开发人员选项,然后 然后激活调试器模式并启用OEM解锁和USB 调试器。 还要确保您允许开发者在您的网站上签名 设备

3。电缆不正确或其他物理问题。有时问题是由数据传输电缆引起的,请尝试使用其他电缆 电缆。

答案 40 :(得分:0)

这对我有用:

转到设置>开发人员选项>禁用USB调试>重新启用USB调试

答案 41 :(得分:0)

如果您想通过WiFi在物理设备上测试您的应用,则:

1。)通过USB连接设备(确保已启用开发人员选项和USB调试) 2.)在您的Android Studio终端中输入:adb tcpip 5555 3.)删除USB连接 4.)在您的Android Studio终端中输入:adb connect <ip address of your device>

或者,您可以使用Android Studio的WiFi ADB扩展。我不知道VS Code有任何类似的扩展名。

答案 42 :(得分:0)

我发现我的防病毒软件(Avast)隔离了adb.exe文件。我去了Avast->保护->病毒箱。从列表中删除了adb.exe文件。

然后添加Android_home变量+将其添加到path变量。重新启动我的机器,Android Studio选择了设备/模拟器。

答案 43 :(得分:0)

有时候问题出在设备连接及其驱动程序上

如果您已经打开开发人员选件和USB调试,但仍然无法连接设备

您必须尝试此操作,因为它已从GOOGLE正式发布。

安装OEM USB驱动程序:

https://developer.android.com/studio/run/oem-usb

答案 44 :(得分:0)

对我来说是

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

  2. (对我而言)将“ D:\ dev \ android \ platform-tools”(对我来说)添加到路径 我在前面放了拍子

  3. 确定,确定,重新启动Android Studio

答案 45 :(得分:0)

好,此查询已得到回答,我只是想补充一点,如果您也可以通过AVD管理器在MAC和Android模拟器上手动启动模拟器,则可以看到已连接的设备。

答案 46 :(得分:0)

我有一个仿真器正在运行,但是VSC ide无法连接到它。因此,我在模拟器和调试选项中也启用了开发人员模式。瞧,行得通!

答案 47 :(得分:0)

Flutter需要设备才能运行该应用程序。有两种选择。

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

我建议使用选项1,因为它不占用设备资源并且速度更快。

选项1:

解锁手机上的开发人员选项,转到开发人员设置并打开USB调试,然后将手机连接到计算机。现在运行flutter run,它将运行。

选项2:

打开android studio,转到AVD管理器,如果尚未添加虚拟设备,请运行该虚拟设备。现在再次运行flutter run,它应该可以工作。

请注意,这种方式适用于任何虚拟设备,而不仅限于android studio中的虚拟设备。

答案 48 :(得分:0)

在我的情况下,flutter devices正确显示了我的设备,颤振运行正常。 但该设备未显示在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,就可以了。

答案 49 :(得分:0)

如果您的fld sdk位置位于,请尝试以管理员身份运行android studio。 C盘

答案 50 :(得分:0)

如果仿真器正在运行,flutteradb devices未检测到该仿真器,请尝试使用以下命令手动连接它

  

abd connect 127.0.0.1:62001

如果连接失败,请重试。应显示以下消息

  

已连接到127.0.0.1:62001

然后尝试flutter doctoradb devices以确保已成功连接。

答案 51 :(得分:0)

这是我的解决方案。 首先将设备连接到笔记本电脑,然后在智能手机的移动打开设置中搜索“开发人员选项”,然后单击它并在设备上启用USB调试。 然后打开项目并打开终端,然后键入“ flutter run” 这样做可以识别您的设备。 然后设置您的Android模拟器。 在Android Studio的顶部,没有设备选项,然后单击该选项并继续选择设备,然后等待几分钟,然后您可以根据所选的Android仿真器在智能手机或仿真器上看到您的应用。

答案 52 :(得分:0)

在装有Mac的iOS中,当我收到此错误时,这对我有用:

打开-a模拟器 扑动

答案 53 :(得分:0)

  1. 请检查您是否安装了两个Android版本,如果可以,请卸载该版本,因为两个版本不能同时运行。
  2. 此外,您可以尝试在flutter配置中设置android-sdk,在其中可以直接从Android Studio部署到设备上。

答案 54 :(得分:0)

在Windows 7中使用时,我收到一个错误:无法安装设备驱动程序。并且该设备未被识别。

您还需要为特定设备安装Android OEM设备驱动程序,就像提到的here一样。

我从制造商的网站下载了设备驱动程序,并从设备管理器中安装了驱动程序。

答案 55 :(得分:0)

如果 ADB接口驱动程序存在问题,

enter image description here

尝试在制造商的网站上找到合适的驱动程序。对于英特尔,请阅读此Installing the Android Debug Bridge (ADB) USB Driver on a Windows Computer

答案 56 :(得分:0)

您可以尝试

flutter emulators显示已创建的模拟器的列表。

今天,这向我显示了下面列表中的两个模拟器。

  

Nexus_6_API_27•Nexus 6 API 27•Google•android

     

Pixel_2_API_27•Pixel 2 API 27•Google•android

然后您可以使用类似的

flutter emulators --launch Nexus_6_API_2启动所选的模拟器

然后您可以使用flutter run来测试您的应用。

我使用VSCode并倾向于使用这种方法,这省去了加载Android Studio来启动模拟器的麻烦。

我希望这会有所帮助。

答案 57 :(得分:0)

如果您使用的是Windows,请按Control+Alt+Delete并在Android Studio中选择Dart Task,然后单击End Task。我尝试了很多次。

答案 58 :(得分:0)

我最近遇到了同样的问题,我正在使用mac os和ios模拟器。 flutter devices命令显示No devices detected

flutter devices command

然后我运行flutter doctor命令,并说我的xcode安装不完整,

但是它不是正确的(我通过构建本机ios应用程序来验证它并运行 好)!

flutter doctor command

我没有再次重新安装/下载xcode,只需根据他们的建议运行这两个命令

sudo xcode-select --switch /Applications/Xcode.app/Contacts/Developer
sudo xcodebuild -runFirstLaunch

它解决了我的问题。这是最终的flutter doctor命令输出。 希望这对某人有帮助。

flutter doctor command

答案 59 :(得分:-3)

在运行前只需在终端执行以下命令

open -a Simulator