我试图用Flutter创建一个示例应用程序(新安装)。还安装了Android Studio(新安装)。

这是颤振运行的输出

flutter run
No connected devices.

颤振医生输出:

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.

这个问题有解决办法吗?


当前回答

我在Mac上使用Visual Studio Code,并试图在iPhone上运行Flutter代码。设备没有显示在状态栏中。我通过在终端中这样做来解决这个问题:

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

这将基本上清除Flutter存储库文件夹中的所有缓存数据。所以当你运行flutter doctor时,它最初会下载一些文件。

其他回答

我用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模拟器——launch <模拟器id>。

步骤2:

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

我在Mac上使用Visual Studio Code,并试图在iPhone上运行Flutter代码。设备没有显示在状态栏中。我通过在终端中这样做来解决这个问题:

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

这将基本上清除Flutter存储库文件夹中的所有缓存数据。所以当你运行flutter doctor时,它最初会下载一些文件。

大多数时候的解决方案是在android studio上启用Dart支持。 首选项>语言和框架> Dart

确保为颤振项目启用了Dart支持。

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

修复此问题的步骤

1. 检查是否授权: 打开terminal/cmd/PowerShell,写入adb设备。它将显示所有连接到PC的设备。

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

2. 取消手机上的USB调试

如果设备显示为未授权,请转到手机上的开发人员选项,然后单击“撤销USB调试授权”(在Android 4.1 (Jelly Bean)和三星Galaxy S III上测试)。

3.重启ADB服务器:

adb kill-server
adb start-server

4. 重新连接设备后,重新执行以下命令

现在它应该显示已授权。

5. 准备好了。

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

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

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