フラッター付きのサンプルアプリケーション(新規インストール)を作成しようとしています。
これが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デバイスを認識していることを確認します。
こちらが参考資料として、アプリケーションを実行するためのDevice/Simulatorの設定方法です。
FlutterアプリをAndroidデバイスで実行してテストする準備をするには、Android 4.1(APIレベル16)以降を実行しているAndroidデバイスが必要です。
デフォルトでは、Flutterはあなたのadbツールが基づいているAndroid SDKのバージョンを使用します。 FlutterにAndroid SDKの別のインストールを使用させたい場合は、Android_HOME環境変数をそのインストールディレクトリに設定する必要があります。
AndroidエミュレータでFlutterアプリを実行してテストする準備をするには、次の手順に従います。
AVD設定が正しいことを確認して、[完了]を選択します。
上記の手順の詳細については、AVDの管理を参照してください。
Android仮想デバイスマネージャで、ツールバーの[実行]をクリックします。エミュレータが起動し、選択したOSのバージョンとデバイスのデフォルトのキャンバスが表示されます。
-
これは、シミュレータ/デバイスを開いて接続するためのより簡単な方法です。
Android Studioは、エミュレータ/シミュレータ(システムにインストールされているもの)またはデバイス(システムに接続されているもの)のリストを表示します。開きたいデバイスをリストから選択して、プロジェクトを実行するだけです。
Flutterコンソールを使って、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
私はあなたがしたのと同じ問題に遭遇します。お使いのデバイスがコンピュータに接続されていないことがわかりました。
注意:
それでもうまくいかない場合は、以下のコマンドを実行してみてください。より豊富な情報と詳細が得られます。
flutter run --verbose
あなたが持っている場合
それでも、あなたは「No device connected」になっているのですが、ADBドライバをインストールすべきだと思います。それは私のために働いた! ダウンロードするにはこちらをクリック
Flutter applicationsを実行するために少なくとも1つのデバイス/ Simulatorが接続されている必要があります。
開発者設定でUSBデバッグが有効になっていることも確認してください。
これが私の解決策でした。私の混乱が他の人にも役立つことを願っています:
私の " 開発者向けオプション "は _ on _ 、
しかし " USB Debbugging "は _ off _ でした。
それで私はUSB DebbuggingをONにして問題は解決しました。
私はFlutterと同じ問題に直面しています。しかし、私はもう一つの働き方を見つけました。
Flutter doctorコマンドを実行して、エミュレータが接続デバイスタグの下に表示されているかどうかを確認します。 フラッタードクターコマンドの成功出力
Flutterコンソールを使ってFlutterプロジェクトのパスに移動します。私にとってはD:\ FlutterWorkspace\flutter_demoです
それからflutter runコマンドを実行します。例えば フラッターラン しばらくすると、Android Emulatorでアプリが実行されます。 アプリが起動しています
私はLinuxを使用しているので、ここでステップが助けになることができます。最初にroot権限でスタジオを開きます(ウィンドウ:プログラムアイコンを右クリック>管理者として実行を選択、linux:端末のSudo ./studio.sh
)
ハードウェアアクセラレーションで ハードウェア - GLES 2.0でエミュレータを作成します ここで述べたように 。 Androidスタジオでターミナルを開く(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パスをチェックしてください。設定 この答えから
ローカルフラッタエンジンでデバッグしているときにも同じ問題があります。そのような場合、環境変数FLUTTER_ENGINE
を設定していれば、それを設定解除してIDEを再起動する必要があります。
ウィンドウユーザーの場合、
Flutter SDKの環境変数を設定する( ...\flutter_windows_v0.2.8-beta.Zip\flutter\bin )
詳細については、ここで確認できます http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html
それは基本的にあなたの開発マシンに "接続された"デバイスを必要とします。あなたがマシン上で走っているシミュレータ/エミュレータを使っているならば、それは自動的に接続された装置として認識されるべきです。もう1つの方法は、物理デバイスを接続することです。セットアッププロセスは、AndroidデバイスとiOSデバイスでは多少異なります。
iOSでMacを使用しているときにこのエラーが発生した場合、これは私にとってはうまくいきます。
オープン-シミュレーターのフラッター実行
実際の答えは私にはうまくいきませんでした。
しかし、Android_HOME
を~/.bash_profile
に設定し、ログアウトしてからログインしてください。
開いているプロジェクトに対してこの環境変数を設定していないため、これはAndroid Studioの問題である可能性があります。
ウィンドウユーザーの場合 -
私のための解決策は 管理者としてAndroid Studioを実行していた
私がする必要があったこと:
flutter emulators
利用可能なすべてのエミュレータが一覧表示されます。 iOSの場合は、最初にシミュレータを開く必要があります。
flutter emulators --launch EMULATOR NAME
これでエミュレータが起動します
そしてそれを構築する
flutter run -d "EMULATOR ID"
上記の解決策のどれも私のために働きませんでした、しかし私はcatch
を無効にしてそして私のAndroidスタジオを再起動することによってそれを解決することができました:
File > Invalidate Catches / Restart...
私がこれまで述べたことがない一つのオプションは、(私の設定では)開発者向けオプションの 'Select USB Configuration'をMTP(Media Transfer Protocol)に設定する必要があることです。
Flutterはアプリを実行するためのデバイスを必要とします。これには2つの選択肢があります。
デバイスリソースを使用せず、高速であるため、オプション1をお勧めします。
オプション1:
携帯電話の開発者向けオプションのロックを解除し、開発者設定に進み、USBデバッグをオンにして、携帯電話をコンピュータに接続します。今flutter run
を実行してください、そして、それは働きます。
オプション2:
Android Studioを開き、AVDマネージャに移動します。まだ行っていない場合は仮想デバイスを追加して、仮想デバイスを実行します。今度はflutter run
をもう一度実行してください。
この方法は、Android Studioの仮想デバイスだけでなく、あらゆる仮想デバイスで機能します。
「Android_HOME」を環境変数に変更し、それをあなたのAndroid SDKの場所に設定した後、私は問題を解決しました。私の場合C:\ Android\Sdk
私が走るまで、提案はどれもうまくいきませんでした
flutter config --Android-sdk Android_SDK_PATH
さて、この質問は答えられました、私はちょうどあなたが同様にAVDマネージャからMACとAndroidエミュレータでシミュレータを起動すればあなたが接続されたデバイスを見ることができることを加えたいと思いました。
私はエミュレータを動かしていましたが、VSC ideはそれに接続できませんでした。そこで私はエミュレータとデバッグオプションで開発者モードを有効にしました。やあ、それはうまくいった!
[ファイル] - > [プロジェクト構造] - > [プロジェクトSDK](Android SDKのSDKパスを選択) - > [OK]をクリックします。デバイスがPCに接続されていることを確認します。それからあなたのフラッターapp.Itを実行します。
いくつかの問題は、デバイスの接続とそれがドライバにあります
すでに開発者向けオプションとUSBデバッグをオンにしてもデバイスを接続できない場合
それは正式にGOOGLEからのものなので、あなたはこれを試す必要があります。
OEM USBドライバをインストールします。
フラッターSDKの場所がCドライブにある場合は、管理者としてAndroid Studioを実行してください。
私にとっては
環境変数に「Android_HOME」を追加し、D:\ dev\Android \に設定します(私用)
"D:\ dev\Android\platform-tools"(私用)をPathに追加します前にフラッターを置きます
OK、OK、Ok再起動Android studio
エミュレータが実行されていてflutter
とadb devices
によって検出されない場合は、次のコマンドを使用して手動で接続してみてください。
abd connect 127.0.0.1:62001
接続に失敗した場合は、やり直してください。次のようなメッセージが表示されます。
127.0.0.1:62001に接続されている
次に、flutter doctor
またはadb devices
を試して、正しく接続されたことを確認します。
私のアンチウイルス(Avast)がadb.exeファイルを隔離していることがわかりました。私はアバスト->保護->ウイルス箱に行きました。リストからadb.exeファイルを削除しました。
次に、Android_home変数を追加し、それをパス変数に追加しました。マシンを再起動し、Android Studioがデバイス/エミュレーターをピックアップしました。
私の場合、flutter devices
は私のデバイスを正しく示しており、フラッターランは期待通りに動作していました。デバイスはAndroid Studioに表示されません。
これが私の強迫観念です。
私の.bash_profile
では、Android SDKは次のようになりました。
export Android_SDK_ROOT="~/Library/Android/sdk"
フラッタープラグインは~
をrecgizeできないようですので、私はこれを次のように変更しました:
export Android_SDK_ROOT="/Users/charliema/Library/Android/sdk"
android Studioを再度開くと、うまくいきました。