Androidエミュレーターが起動しているのに「no device selected」になる

※当サイトは、アフィリエイト広告を利用しています

結論:実機と同様に開発者オプションでUSBデバッグを許可する

2022/10/1 Flutter エラー・バグ日記 

 

ずっと悩まされていたが、対処法が見つかったかもしれず、忘れないうちに記録(再現性は不確定)。

 

突然、Androidエミュレーターが、Android Studioと接続不能になり、プロジェクトをビルドできなくなる現象が、たびたび発生していた(PCは、IntelのMacbook Pro)。

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかはあまり載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

エミュレーター自体は起動できている

エミュレーター自体が起動できない場合の対処法は、ネット上に多数紹介されている。

 

しかし、自分の場合は、起動はできているのに、Android Studio上部のデバイス欄は「no device selected」になっており、ビルドすると「No Connected Devices Found」のエラーになってしまう、という状況だった(「Refresh」をしても効果なし)。

 

また、この状態で、再度、同じエミュレーターを起動しようとすると、「もう立ち上がっているよ」というエラー(下記)が出てしまう。

 

emulator: ERROR: Running multiple emulators with the same AVD is an experimental feature. Please use -read-only flag to enable this feature.

 

起動できない場合の対処法を一通り試すも、効果なし

試しに、エミュレーターが起動できない時の対処法を複数実行したが、下記の通り、いずれも効果はなかった。

 

①「Project SDK」を設定する

 

(自分の過去記事)

 

既にSDKは設定されており、この対応は不要な状況。

 

②「エミュレーター名.avd」フォルダ内の3ファイルを削除する

 

(参考にさせていただいた記事)

 

隠しフォルダである「.android」フォルダ内の「avd/エミュレーター名.avd」内にある下記3ファイルを削除するという方法。

 

cache.img
hardware-qemu.ini.lock
multiinstance.lock

 

確かに、エミュレーターを起動できなかったときは、この方法で解決できた。

 

しかし、起動後の非接続状態については、この方法では解決できなかった

 

③「advancedFeatures.ini」を配置する

 

(参考にさせていただいた記事)

 

「.android」フォルダ内に、

 

Vulkan = off
GLDirectMem = on

 

を記載した「advancedFeatures.ini」ファイルを配置するというもの(全く意味はわかっていないが、、)。

 

しかし、これも効果はなかった(記事によると、この方法はWindows用?)。

 

④上記①に加え、「cache.img.qcow2」を削除する

 

(参考にさせていただいた記事)

 

これもやったが効果は得られず。。

 

やむを得ず、いつも「Wipe Data」していた 

「Device Manager」(以前の「AVD Manager」)を開き、該当のエミュレーターの設定ボタン(3点マークのボタン)から、「Wipe Data」(データ消去)し、再起動すれば解消する。

 

これをやると、エミュレーター内に保存していたアプリのデータ(デモ用のデータや、Googleサインインの情報、日本語設定等)が全て消去されてしまうので、正直やりたくない。

 

しかし、ネット上を調べても、「起動できるが、接続認識されない」状況への対処法は見つけられず、、、仕方なく、この方法で対処していた。

 

USBデバッグ許可の確認ダイアログに気づいた

今回も諦めて「Wipe Data」をやりかけたところ、エミュレーター内に、一瞬、USBデバッグ許可の確認ダイアログが表示された事に気づいた(すぐ消えてしまったが)。

 

これは、Android実機をAndroid Studioにつないだ時に、毎回出るダイアログで、許可(OK)のボタンを押さないと、Android Studioで実機が認識されない。

 

ただ、このダイアログが消えてしまうときがあり、その際は、実機の設定を変更して対処していた。

 

そこで、今回、それと同様の対応を、エミュレーターでやってみることにした。

 

具体的な手順は下図のとおり。

 

 

開発者向けオプションを有効にし、USBデバッグをONにするのだが、もともとONになっていた場合は、いったんOFFにしてから、再度ONにする

 

こうすることで、再度、USBデバッグ許可の確認ダイアログを表示させることができる(もっと良い方法がありそうだが、、)。

 

結果、この方法でUSBデバッグを許可したら、無事、エミュレーターが認識され、ビルドできるようになった!

 

今回はこれで解決できたが、接続不良が発生するタイミングが不明なので、再現性があるかは不明。。。

 

次に発生したときは、真っ先に今回の方法を試してみることにする。

 

\一般的なエラー対処法をまとめた記事はこちら/

 

リリースしたアプリ(全てFlutterで開発)

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

タイトルとURLをコピーしました