フラッターラン:接続されたデバイスなし


227

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.

この問題の解決策はありますか?


8
デバイスが接続されていますか(USBデバッグが有効)、またはエミュレータが実行されていますか?
ギュンターZöchbauer

flutter devicesflutterがデバイスを検出できるかどうかを確認するために行う
denvercoder9

「接続されたデバイスがない」エラーは通常、デバイスで開発者向けオプションが有効になっていないことを意味します。
聖武天皇

私にとって、これは約1分間発生し、その後、それ自体が正常になっているようです。Androidスタジオはすぐに正常に動作しますが、Flutterはエミュレーターが認識されるようにするなど、ほとんどすべての処理が非常に遅くなります。たぶん忍耐力を試して、一杯のコーヒーの後に戻ってきますか?
ミッチ

7
同じ問題がありましたが、一部のケーブルは電源専用であるため、USBケーブルを変更して修正しました。
チアゴシルバフェレイラ

回答:


186

FlutterはiOSとAndroidの両方のデバイス/シミュレータをサポートしています。

ターミナルでflutter devicesコマンドを実行して、Flutterが接続されたAndroidデバイスを認識していることを確認します。

アプリケーションを実行するためのデバイス/シミュレーターのセットアップ方法については、リファレンスドキュメントをご覧ください。

、のためのAndroid(MACシステム上)

Androidデバイスをセットアップする

AndroidデバイスでFlutterアプリを実行およびテストする準備をするには、Android 4.1(APIレベル16)以降を実行しているAndroidデバイスが必要です。

  1. デバイスで開発者向けオプションとUSBデバッグを有効にします。詳細な手順については、Androidのドキュメントをご覧ください。
  2. USBケーブルを使用して、電話をコンピュータに接続します。デバイスでプロンプトが表示されたら、コンピューターがデバイスにアクセスすることを承認します。
  3. ターミナルでflutter devicesコマンドを実行して、Flutterが接続されたAndroidデバイスを認識していることを確認します。
  4. flutter runを実行してアプリを起動します。

デフォルトでは、FlutterはadbツールのベースとなっているAndroid SDKのバージョンを使用します。FlutterでAndroid SDKの別のインストールを使用する場合は、ANDROID_HOME環境変数をそのインストールディレクトリに設定する必要があります。

Androidエミュレーターをセットアップする

AndroidエミュレータでFlutterアプリを実行してテストする準備をするには、次の手順に従います。

  1. マシンでVMアクセラレーションを有効にします。
  2. Android Studio> Tools> Android> AVD Managerを起動し、Create Virtual Deviceを選択します。
  3. デバイス定義を選択し、[次へ]を選択します。
  4. エミュレートするAndroidバージョンのシステムイメージを1つ以上選択し、[次へ]を選択します。x86またはx86_64イメージをお勧めします。
  5. 「エミュレートされたパフォーマンス」で、「ハードウェア-GLES 2.0」を選択して、ハードウェアアクセラレーションを有効にします。
  6. AVD構成が正しいことを確認し、[完了]を選択します。

    上記の手順の詳細については、AVDの管理を参照してください。

  7. Android Virtual Device Managerで、ツールバーの「実行」をクリックします。エミュレータが起動し、選択したOSバージョンとデバイスのデフォルトのキャンバスが表示されます。

  8. flutter runを実行してアプリを起動します。接続されたデバイスの名前はAndroid SDK SDK forです。プラットフォームはx86などのチップファミリです。

-

Android Studioを使用してデバイスを開いて接続する:

これは、シミュレータ/デバイスを開いて接続する簡単な方法です。

Android Studioには、エミュレーター/シミュレーター(システムにインストールされている)またはデバイス(システムに接続されている)のリストが表示されます。リストからデバイスを選択して開き、プロジェクトを実行します。

ここに画像の説明を入力してください


18
これを機能させることができません。エミュレータは問題なく動作します。Androidアプリケーションをデプロイして実行できます。しかし、Androidスタジオのフラッタープロジェクトは、エミュレータがないと不平を言っています。
abjbhat

8
ここでも同じですが、「接続されているデバイスが見つかりません。デバイスを接続するか、flutter.io / setupで開始手順を確認してください。」と表示されます。その間、エミュレーターが同じ画面上に座って稼働しているのがわかります。
olisteadman

{解決済み}トライアルエラーを実行した後、この問題は破損したadbファイルが原因であることがわかります(デフォルトでは、「フラッターデバイス」はSDKが提供する「adb」ファイルを呼び出します。たとえば、私のadb.exeファイル) 「C:\ Android \ Sdk \ platform-tools」に存在します)。この問題を克服する方法は、ファイルを他のadbファイルに置き換えることです(以前のバックアップを行ったことを確認してください)。元のadbを次のリンクでダウンロードできるmy adbファイルに置き換えることができます:gofile.io/ ?c = c0M3DC。ありがとう
nurulhudamustaqim 19/07/19

Macのiosはどうですか?Macがいくつかありますが、2012 MBA(USB-A)では、iTunesが実行されている場合にのみ接続を利用できます。同じデバイスを2019 MBA(USB-C)フラッターに接続しても、iTunesはデバイスを認識しません
Richard

USB-Aを搭載した2012 Macbook AirはiPhone5を検出できますが、iTunesを起動した場合のみです。私の2019 Macbook Air with USB-Cは同じiPhone5を検出できません(はい、信頼でき、はいはXCodeとiTunesで動作します)。私のAndroidフォンは両方のシステム(iTunesなし)で動作しますが、2019 MBAではUSB-A / Cドングルが必要です。
Richard

95

フラッター設定--android-sdk ANDROID_SDK_PATH

または

  • デバイスが見つかりません(Android StudioでFlutterをセットアップした場合)
  • プロジェクト構造-> Project SDKで最新のANDROID APIを選択

ここに画像の説明を入力してください


2
Project SDKとModule SDKの両方を設定することで修正されました。ありがとう。
Shirish Kadam

2
これで私の問題は解決しました。実行中のデバイスはありましたが、フラッターはそれらを検出できませんでした。
Mahdi-Malv

私も解決しました。ありがとうございました!
Lee Casey、

私のために働いた。SDKが選択されていません
フィリル

私も解決しました。
gamofe

35

Flutterコンソールを使用して、フラッターのAVD問題を解決しました。

ステップ1:

C: \ Users \ valer> flutter emulators
6 available emulators:

3.2_QVGA_ADP2_API_22 _-_ Lollipop3.2in QVGA (ADP2)Generic3.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 • GoogleNexus S API 25 1080x1920 (Nougart 7.1.1)
Pixel_API_28 • pixel • GooglePixel API 28

エミュレータを実行するには、を実行しますflutter emulators --launch <emulator id>

ステップ2:

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

33

これが私の解決策でした。私の混乱が他の人にも役立つことを願っています:

私の「開発者向けオプション」はオンでした、

しかし、「USB Debbugging」はオフでした。

USBデバッギングをオンにすると問題は解決しました。


21

私の場合

ファイル>プロジェクト構造

最新のSDKを選択

ここに画像の説明を入力してください


この答えは私にも役立ちます。ありがとうございました。
Ashish、

オプションのプロジェクト構造がない場合は、Android Studioを再起動します
Wilmer

この回答は役に立ち、問題を解決しました..ありがとうございました
Suna Arun

21

実行するまで、どの提案も機能しませんでした

flutter config --android-sdk ANDROID_SDK_PATH

ただし、「PATH」=パスを使用します。

flutter設定--android-sdk C:\ Users \%youruser%\ AppData \ Local \ Android \ Sdk


それをした後unable to locate Android SDK
eggrobot78

1
@ eggrobot78は、Android SDKのインストール場所をANDROID_HOMEの環境パス変数として追加することで、これに対処できました。
essbee

17

あなたと同じ問題が発生します。デバイスがコンピュータに接続されていないことがわかりました。

注意:

  • XCodeを使用していて、コンピューターとデバイスの両方が同じWIFIを使用している場合は、デバイスをコンピューターに接続する必要はありません。
  • ターミナルコマンドで実行されているAndroidまたはiOSの場合、これを実行するためにコマンドラインを使用している場合は、ケーブルで接続されていることを確認する必要があります。同じWIFIの共有は機能しません。デバイスが実際に接続されていることを確認します。
  • AndroidデバイスでUSBデバッグ許可されていることを確認してください。

それでも機能しない場合は、以下のコマンドを実行してみてください。ここで、より詳細な情報と詳細を取得できます。

flutter run --verbose

1
同じ問題が発生しました。VSCodeはFlutterを実行できますが、ターミナルは実行できません。私が見逃していてそれを機能させる議論があるのだろうか?それは意味をなさないようです。VS CodeまたはXCodeコマンドは、CLIのフロントエンドとして機能するだけだと思います。
pipedreambomb

16

私がする必要があったこと:

flutter emulators

使用可能なすべてのエミュレーターがリストされます。iOSの場合、最初にシミュレーターを開く必要があります。

flutter emulators --launch EMULATOR NAME

これでエミュレータが起動します

そしてそれを構築する

flutter run -d "EMULATOR ID"

15

私はGenymotionで鉱山を走りました。おそらくFlutterに最適です。

セットアップはそれほど苦痛ではなく、

ADBの設定を確認してください

ここに画像の説明を入力してください

-あなたのAndroid SDKパス-

鉱山はC:\ Users \ user \ AppData \ Local \ Android \ Sdk


ありがとう。Genymotionを再インストールし、これを行わなければなりませんでした。
Dan

Genymotion isisライター。
RobertoGóes18年

Windows 10では、機能する前にコンピューターを再起動する必要がありました
NearHuscarl

11

ウィンドウユーザーの場合、

Flutter SDKの環境変数を設定します(... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin

デバイスが接続されていません

詳細については、こちらを確認してくださいhttp://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

これは、言及されたページからの情報です: Windows環境変数パスにFlutterを追加します

  1. Flutter SDKフォルダーに移動します。
  2. binフォルダーに移動し、ディレクトリパスをコピーします(この場合はC:\ Flutter \ bin)。
  3. 「コントロールパネル>ユーザーアカウント>ユーザーアカウント>環境変数の変更」に移動します
  4. 「ユーザー変数」でパス変数を選択し、「編集」をクリックします。
  5. C:\ Flutter \ binを入力して適用します。

Flutter環境と同じように、カスタムの場所にある場合は、Android SDKパスを設定する必要があります。

  1. Android SDKフォルダーに移動します。
  2. ディレクトリパスをコピーします(この場合は..AndroidStudioSDK \ sdk)
  3. 「コントロールパネル>ユーザーアカウント>ユーザーアカウント>環境変数の変更」に移動します
  4. 「ユーザー変数」でパス変数を選択し、「編集」をクリックします。
  5. ..AndroidStudioSDK \ sdkにANDROID_HOMEを付けて適用します。

チップ:

次の問題に直面した場合、

1. [✗] Androidツールチェーン-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"

  1. エラー:不明な引数--licenses

次のコマンドで解決できます。

flutter -v doctor --android-licenses

次に、使用するエミュレータを選択し、緑色の矢印をクリックしてプロジェクトを実行します。だから、ここですでに設計されているデフォルトの画面。


10

場合によってはすべてが完璧ですが、デバイスはADBで承認されなくなります。このような場合、ADBがありますが、接続されたデバイスでは表示されません。

この問題を修正する手順

1.許可されているかどうかを確認します。 ターミナル/ cmd / PowerShellを開き、adbデバイスを書き込むと、PCに接続されているすべてのデバイスが表示されます。

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

2.電話でUSBデバッグを取り消す

デバイスが未承認と表示されている場合は、電話の開発者向けオプションに移動し、[USBデバッグ認証を取り消す]をクリックします(JellyBeanおよびSamsung GalaxyIIIでテスト済み)。

3. ADBサーバーを再起動します。

adb kill-server
adb start-server

4.デバイスを再接続し、次のコマンドを再度実行します。adbデバイス

これで、承認済みと表示されます。

5.準備完了。

次に、エディターAndroid Studio / Visual Studio Codeを開き、接続されたデバイスにデバイスが表示されているかどうかを確認します。

フラッタードクターコマンドで簡単に確認できます。


8

Flutterアプリケーションを実行するには、少なくとも1つのデバイス/シミュレーターが接続されている必要があります。

また、開発者設定でUSBデバッグが有効になっていることを確認してください。


8

あなたが持っている場合

  • Flutter SDKをダウンロード
  • モバイルデバイスを接続し、モバイルで開発者向けオプションを有効にし、USBデバッグを許可した。

それでも「デバイスが接続されていません」というメッセージが表示される場合は、ADBドライバーをインストールする必要があります。うまくいきました! ダウンロードするにはこちらをクリック


8

Flutterでも同じ問題に直面しています。しかし、私は仕事をする別の方法を見つけました

  1. 最初にAndroidエミュレーターを実行する
  2. 次に、Flutterコンソールに移動します
  3. コマンドflutter doctorを実行し、接続されたデバイスタグの下にエミュレータが表示されているかどうかを確認します。 ここに画像の説明を入力してください

  4. 次に、Flutterコンソールを介してFlutterプロジェクトパスに移動します。たとえば、私にとってはD:\ FlutterWorkspace \ flutter_demoです。

  5. 次にflutter runコマンドを実行します。例えば

ここに画像の説明を入力してください

しばらく待つと、アプリがAndroid Emulatorで実行されます。 ここに画像の説明を入力してください


6

これまで言及していないオプションの1つは、(私のセットアップでは)開発者オプションの「USB構成の選択」をMTP(メディア転送プロトコル)に設定する必要があることです。


6

私はLinuxを使用しているので、ここに役立つステップがあります。最初にroot権限でスタジオを開きますウィンドウ:プログラムアイコンを右クリック> [管理者として実行]を選択、linux:sudo ./studio.shターミナルで)

ここで説明する ように、ハードウェアアクセラレーションでハードウェア-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パスを確認してください。この回答から構成してください


4

実際の答えは私にとってうまくいきませんでした。

しかしANDROID_HOME、あなた~/.bash_profileを設定してログアウトしてからログインして、それを機能させてください!

開いているプロジェクトに対してこの環境変数を設定していないため、これはAndroid Studioの問題である可能性があります。


4

ローカルのフラッターエンジンでデバッグしているときにも同じ問題が発生します。このような場合、環境変数FLUTTER_ENGINEを設定している場合は、設定を解除してIDEを再起動する必要があります。


4

上記の解決策はどれもうまくいきませんでしたがcatch、Androidスタジオを無効にして再起動することで解決できました。

File > Invalidate Catches / Restart...

機能した唯一のソリューション
実際の19

4

次の手順に従ってください:
ファイル -> プロジェクト構造 -> プロジェクトSDK(Android SDKでSDKパスを選択)-> OK

デバイスがPCに接続されていることを確認します。

GitBashを開き、「flutter devices」と入力します。次に、フラッターアプリを実行します。


3

Flutterでアプリを実行するにはデバイスが必要です。これには2つの選択肢があります。

  1. 実際の電話でアプリを実行します。
  2. コンピューターの仮想デバイスでアプリを実行します。

オプション1をお勧めします。これは、デバイスリソースを使用せず、高速であるためです。

オプション1:

携帯電話の開発者向けオプションのロックを解除し、開発者設定に移動してUSBデバッグをオンにし、携帯電話をコンピューターに接続します。ここで実行するflutter runと、機能します。

オプション2:

android studioを開き、AVDマネージャに移動します。まだ行っていない場合は仮想デバイスを追加して、仮想デバイスを実行します。ここでflutter runもう一度実行すると、正常に動作するはずです。

この方法は、Android Studioの仮想デバイスだけでなく、任意の仮想デバイスで機能することに注意してください。



3

これが私の解決策でした。私の混乱が他の人にも役立つことを願っています:

私の「開発者向けオプション」はオンでした、

しかし、「USB Debbugging」はオフでした。

USBデバッギングをオンにすると問題は解決しました。



2

基本的に、開発マシンに「接続」されたデバイスが必要です。マシンで実行されているシミュレーター/エミュレーターを使用している場合は、接続されたデバイスとして自動的に認識されます。もう1つの方法は、物理デバイスを接続することです。セットアッププロセスは、AndroidデバイスとiOSデバイスで若干異なります。


2

私にとっては

  1. 「ANDROID_HOME」を環境変数に追加し、D:\ dev \ android \に設定します(私用)

  2. "D:\ dev \ android \ platform-tools"(私にとっては)をパス 追加する

  3. Android Studioを再起動します


2

私の場合、flutter devicesデバイスを正しく表示し、フラッターランは期待どおりに機能しました。ただし、デバイスはAndroid Studioに表示されません。

ここに私のsulotionがあります:

私の.bash_profile場合、このように構成されたAndroid SDK:

export ANDROID_SDK_ROOT="~/Library/Android/sdk"

flutterプラグインはを再認識できない~ようなので、次のように変更しました。

export ANDROID_SDK_ROOT="/Users/charliema/Library/Android/sdk"

Android Studioを再度開きます。


2

MacでVisual Studio Codeを使用していて、iPhoneでフラッターコードを実行しようとしていました。デバイスがステータスバーに表示されませんでした。ターミナルでこれを行うことで問題を修正しました:

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

これにより、基本的にFlutterリポジトリフォルダーからすべてのキャッシュデータが消去されます。したがって、フラッタードクターを実行すると、最初にいくつかのファイルがダウンロードされます


私はいつも同じ問題を抱えていましたが、以下の手順が役立ちます
abuder

iPhoneがMacシステムでひらひら認識できません。多くの方法を試してみました、あなたは〜well.Thanksに動作します
Pulller

2

注:私はAndroid 10で実行されているMi(Xiaomi)モバイル(Redmi K20 Pro)を使用しています

デバイスのリストを表示するには、2つのことを行う必要があります。

1)Android Studio-> File-> Project Structureに移動し、オプションからProject SDKを選択します。メニューから最新のものを選びました。

2)実際のデバイスをPC /ラップトップに接続するときは、必ずを選択してくださいTransfer photos (PTP) mode

:ファイル転送モードを選択しないでください。うまくいかないだろう。

上記の2つのことを行った後flutter devices、コマンドプロンプトに書き込むことで、デバイスの可用性のステータスを確認できます。

私はそれがあなたのモバイルデバイスを示していると思います。


2

手順1:接続されているデバイスを確認するには、次のコマンドを実行します。flutter devices

ステップ2:使用可能なエミュレーターのリストを表示するために接続されたデバイスがない場合は、以下を実行します。flutter emulators

ステップ3:エミュレーターを実行するには、次のコマンドを実行します。flutter emulators --launch <emulator id>

ステップ4:利用可能なエミュレーターがない場合は、以下を実行します。flutter emulators --create [--name xyz]

==> ANDROIDの場合:

ステップ1:エミュレーターのリストを確認するには、次のコマンドを実行します。emulator -list-avds

ステップ2:エミュレータを起動するには、次のコマンドを実行します。emulator -avd avd_name

==> IOSの場合:

ステップ1: open -a simulator

ステップ2:( flutter runアプリディレクトリ内)

これで問題が解決することを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.