我正在尝试用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.
有解决方案吗?
Flutter支持iOS和Android设备/模拟器。
在终端中,运行
flutter devices
命令以验证Flutter是否识别您连接的Android设备。
这是参考文档,如何设置设备/模拟器来运行您的应用程序。
要准备在Android设备上运行和测试Flutter应用,您需要运行Android 4.1(API级别16)或更高版本的Android设备。
默认情况下,Flutter使用您的adb工具所基于的Android SDK版本。如果您希望Flutter使用Android SDK的其他安装,则必须将ANDROID_HOME环境变量设置为该安装目录。
要准备在Android模拟器上运行和测试Flutter应用,请按以下步骤操作:
-
这是打开和连接模拟器/设备的更简单方法。
Android Studio显示模拟器/模拟器(安装在您的系统中)或设备(连接到您的系统)的列表。只需从列表中选择要打开的设备,然后运行项目即可。
我和Flutter面临同样的问题。但我找到了另一种工作方式,即
我正在使用Linux,所以这里的步骤可以提供帮助。第一个具有root权限的打开工作室,(窗口:右键单击程序图标>选择Run as Administrator,linux:sudo ./studio.sh
in terminal)
使用硬件创建模拟器 - 硬件加速as mentioned here中的GLES 2.0。在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
实际答案对我没有用。
但是在你的ANDROID_HOME
中设置~/.bash_profile
并注销然后登录,让它工作!
这可能是Android Studio问题,因为它没有为打开的项目设置此环境变量。
我在使用本地颤振引擎进行调试时遇到了同样的问题。在这种情况下,如果您已设置环境变量FLUTTER_ENGINE
,则应取消设置并重新启动IDE。
我需要做什么:
flutter emulators
它将列出所有可用的模拟器。对于iOS,您需要先打开模拟器。
flutter emulators --launch EMULATOR NAME
这将启动模拟器
并建立它
flutter run -d "EMULATOR ID"
在我跑之前,这些建议都没有奏效
flutter config --android-sdk ANDROID_SDK_PATH
到目前为止我没有看到的一个选项是(对于我的设置)开发人员选项'选择USB配置'必须设置为MTP(媒体传输协议)。
对于窗口用户,
我的解决方案是以管理员身份运行Android Studio
以上解决方案都不适合我,但我能够通过使catch
无效并重新启动我的android工作室来解决它:
File > Invalidate Catches / Restart...
它基本上需要一个“连接”到您的开发机器的设备。如果您正在使用在机器上运行的模拟器/仿真器,则应自动将其识别为已连接的设备。另一种方法是连接物理设备,Android和iOS设备的设置过程略有不同。
我使用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
我将“ANDROID_HOME”更改为环境变量并将其设置为Android SDK的位置后解决了问题。在我的情况下C:\ Android \ Sdk
转到文件 - >项目结构 - >项目SDK(在Android SDK中选择SDK路径) - >确定确保您的设备已连接到PC。打开GitBash并键入:flutter devices。然后运行你的颤动app.It将工作。
有时问题出在设备连接和驱动程序上
如果您已经打开了开发人员选项和USB调试但仍然无法连接您的设备
你必须尝试这个,因为它正式来自GOOGLE。
安装OEM USB驱动程序:
对我来说是
好吧,这个查询已经回答了,我只是想补充说,如果你在AVD管理器的MAC和Android模拟器上手动启动模拟器,你可以看到连接的设备。
我有一个模拟器正在运行,但VSC ide无法连接到它。所以我在模拟器和调试选项中启用了开发人员模式。瞧,它奏效了!
Flutter需要一个设备来运行应用程序。有两种选择。
我建议选项1,因为它不使用您的设备资源,速度更快。
选项1:
解锁手机上的开发人员选项,转到开发人员设置并打开USB调试并将手机连接到计算机。现在运行flutter run
,它会工作。
选项2:
打开android studio,转到AVD管理器,如果尚未添加虚拟设备并运行虚拟设备。现在再次运行flutter run
它应该工作。
请注意,这种方式适用于任何虚拟设备,而不仅仅是android studio中的虚拟设备。
在我的情况下,flutter devices
正确显示我的设备,并且颤振运行按预期工作。但Android Studio中未显示该设备。
这是我的解决方案:
在我的.bash_profile
中,Android SDK如下所示:
export ANDROID_SDK_ROOT="~/Library/Android/sdk"
似乎扑动的插件无法重新组合~
,所以我改为这样:
export ANDROID_SDK_ROOT="/Users/charliema/Library/Android/sdk"
重新打开Android Studio,它有效。
如果您的颤动sdk位置在C盘中,请尝试以管理员身份运行android studio
如果模拟器正在运行且flutter
和adb devices
未检测到,则尝试使用以下命令手动连接它
abd connect 127.0.0.1:62001
如果无法连接,请重试。应出现以下消息
连接到127.0.0.1:62001
然后尝试flutter doctor
或adb devices
以确保它已成功连接。
我遇到了和你一样的问题。事实证明您的设备未与计算机连接。
注意:
如果这仍然不起作用,请尝试触发命令下方,您可以在其中获取更丰富的信息和详细信息:
flutter run --verbose
如果你有
你仍然得到“没有设备连接”然后我认为你应该安装ADB驱动程序。它对我有用!! Click here to download
这是我的解决方案。希望我的困惑也可以帮助别人:
我的“开发者选项”已开启,
但“USB调试”已关闭。
所以我打开USB调试,问题解决了。
对于窗口用户,
设置Flutter SDK的环境变量(... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin)
有关更多信息,请在此处查看http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html
以下是上述页面中的信息:将Flutter添加到Windows环境变量Path
与Flutter Environment相同,如果它位于自定义位置,我们必须设置Android SDK路径。
提示:
如果您遇到以下问题,
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 <android-sdk-location>
或flutter config --android-sdk "android-sdk-location"
您可以使用以下命令解决它。
flutter -v doctor --android-licenses
现在,选择要使用的模拟器,然后单击绿色箭头以运行项目。所以,这里已经设计了默认屏幕。
应该至少连接一个设备/模拟器来运行Flutter应用程序。
还要确保在开发人员设置中启用了USB调试。