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

这个问题有解决办法吗?


当前回答

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

其他回答

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

注意:

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

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

flutter run --verbose

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

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

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

For, Android(在Mac系统上)

设置你的Android设备

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

在设备上启用开发人员选项和USB调试。详细的说明可以在Android文档中找到。 用USB线把你的手机插到电脑上。如果您的设备上出现提示,请授权计算机访问您的设备。 在终端中,运行flutter devices命令,验证flutter是否识别您连接的Android设备。 通过运行颤振运行启动应用程序。

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

设置Android模拟器

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

在您的机器上启用虚拟机加速。 打开Android Studio→菜单工具→AVD管理器,选择创建虚拟设备。 选择一个设备定义并选择Next。 为要模拟的Android版本选择一个或多个系统映像,然后选择Next。建议使用x86或x86_64镜像。 在“仿真性能”下,选择“硬件- GLES 2.0”以启用硬件加速。 确认AVD配置正确后,选择 完成。

以上步骤请参见管理avd。

在Android虚拟设备管理器中,单击工具栏中的“运行”。模拟器启动并显示所选OS版本和设备的默认画布。 通过运行颤振运行启动应用程序。连接的设备名称是为<platform>构建的Android SDK,其中platform是芯片家族,例如x86。

这是另一个文档,如果你使用(微软)Windows系统:开始:安装在Windows上

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

下面是打开和连接模拟器/设备的一种更简单的方法。

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

在我的例子中,颤振设备正确地显示了我的设备,颤振运行按预期工作。但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。它工作。

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

我用Genymotion来测试应用程序。我也有同样的问题。当我按下运行按钮时,我在过去两个小时遇到了这个错误……

如何修复此错误:只需重新安装Genymotion此错误就消失了。