我试图用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.

这个问题有解决办法吗?


当前回答

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

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

其他回答

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

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

注意:

如果你使用的是Xcode,如果你的电脑和设备都使用同一个Wi-Fi AP,你不需要连接设备和电脑。 对于在终端命令下运行的Android或iOS,如果你使用命令行来运行,你必须确保它们是通过电缆连接的。共享同一个Wi-Fi AP无效。确保你的设备是真正连接的。 确保在Android设备上允许USB调试。

如果这仍然不起作用,尝试触发下面的命令,在那里你可以获得更丰富的信息和细节:

flutter run --verbose

MacOS解决方案:我已经浏览了所有的答案,并找到了我的解决方案。据我所知,.bas_profile, .zshrc和其他配置文件同步有一个问题。所以为了让它们从终端同步运行Android Studio,例如:

open / application /Android\ Studio\ 2.app

我在调试本地颤振引擎时遇到了同样的问题。在这种情况下,如果已经设置了环境变量FLUTTER_ENGINE,则应该取消设置并重新启动IDE。

有时,您拥有完美的一切,但设备不再被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命令进行检查。