Android emulator-5554オフライン


134

emulator-5554で問題が発生し、オフラインであると繰り返し表示されます。

adb devicesコマンドラインからaを実行すると、

emulator-5554 offline

新たに再起動した後でも、そのコマンドを試してもオフラインであると表示されます。

問題はabd install <path>、コマンドプロンプトから.apkファイルをエミュレータにインストールしようとすると、オフラインであることを示しています。別のデバイスを作成して実行すると、.apkファイルをインストールしようとすると、接続されているデバイスが多すぎます。つまり、.apkファイルをインストールできません。

一体どうやってそのエミュレーター-5554を取り除くことができますか?再起動するとすべてのデバイスがクリアされるはずですが、動作していないようです。コンピュータの起動時に初期化されているようです。誰かがこの問題に遭遇しましたか?

ありがとう


3
問題がエミュレータであるかどうかを判断するには、次のことを試してください。1.エミュレータを開きます。2.別のエミュレーターを開きます。3. adb devicesエミュレータの名前を取得します。4.次を実行してAPKをインストールしてみadb -s NAME_OF_DEVICE install file.apkます。5 .何が起こるかを教えてください。
クリスティアン

私が家に帰ったとき(今は仕事中)、それを試してみるつもりですが、インストールするデバイスを指定できることを知りませんでした。それは本当に役立つはずです。数時間後に更新します。返信いただきありがとうございます!
hanesjw 2010年

コメントありがとうございます。私はエミュレータにAPKをインストールして、あなたが言ったことを実行することができました。切断されたものはまだ私のデバイスリストに残っていますが、私がしたいことはその.apkをインストールすることだけでした。もう一度ありがとう、うまくいきました!
hanesjw 2010

この質問は次に関連していると思います:stackoverflow.com/questions/6013624/…このスレッドをご覧ください。
ivy

これは、あなたの質問に答えていませんが、あなたの問題解決かもしれない- adb -d指定されたUSBデバイスではなく、エミュレータ、adb -eUSBデバイスではなく、エミュレータを、そしてadb -s NAME私が最後かどうかについては不明だけれども、私は、あなたが望むどのデバイス特に指定するために使用することができると思います1つは常にあなたが考える方法で機能します。
Erhannis

回答:


62

そのような場合、エミュレーターが再び動作し始めることを保証するために、次のすべてを実行できます。

  1. cmdに移動して、 adb kill-server
  2. タスクマネージャーに移動しadb、プロセスを見つけます。見つかった場合は、それを右クリックし、プロセスの終了ツリーをクリックします。
  3. Eclipseで、[ ウィンドウ]> [Android仮想デバイスマネージャー ]に移動し、起動するAVDをクリックし、開始をクリックして、[ スナップショットから起動 ]をオフにしてから、起動をクリックします。

それでおしまい!しばらく時間がかかり、問題が解決するはずです。


これは私にとっても機能しました(ADBを殺しても問題は解決しませんでした)。
Booger 2014

そのプロセスツリーを強制終了するとすぐに、adb running devicesリストがクリアされました:)それは機能しました。<3感謝
DeathRs、2015

9
Android Studioでは、仮想デバイスのブートオプションをクイックブートからコールドブートに変更することができます。
eldes

Visual Studio 2019から実行した場合、Androidデバイスマネージャーの「スナップショットからの起動」設定はどこにありますか?
ジャックトリック

106

1。この問題を修正するには、単に「データをワイプ」します。

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

2。それが機能しない場合は、エミュレートされたデバイスに移動し、開発者向けオプションを有効にします> USBデバッグを有効にします


1
エミュレーターからアプリをアンインストールすることでうまくいきました。しかし、それはデータをワイプするのと同じ考えです
ジェームズ

1
これは、「Wipe Data」のすぐ下の「Cold Boot now」との組み合わせに役立ちました。
S.ギッセル

tksたくさん、あなたは私の日を救った
Manh Nguyen

24

Androidがエミュレータを検出する方法は、ポート5555から始まるポートをスキャンすることです。

adb devicesリストに表示される数(あなたの場合は5554)は、adbが開いていることを見つけているポートよりも1つ少なくなります。

ポート5555でリッスンしているプロセスが実行されている可能性があります。「オフライン」デバイスを削除するには、そのアプリケーションを見つけて閉じるか、別のポートをリッスンするように再構成する必要があります。


問題はADBに関するものでした。ADBポート番号は5555から始まります
ブリガム・

2
「おそらく、ポート5555でリッスンしているプロセスが実行されています。」そのポートで別のサーバーを実行していて、それを完全に忘れていたので、これは本当に役に立ちました!
abhijit 2013年

それは常に5554から始まりました-私のすべてのPC(自宅と職場のPC)で...そして、複数のエミュレーターを使用している間は常にEVEN(5554、5556、5558、5560、...)です。
Phantômaxx

フランク、どうして全部揃ってるの?これは、Androidもその間に奇数番号のポートを使用するためです。
ブリガム

これも役に立ちました!5555で開いているポートがエミュレータ5554(?)として表示されました。機能していない「サーバーの再起動」スタイルの回答をすでに試している人は、先に進んでローカルホストをポートスキャンする必要があります。私は、ADBがUSBデバイスをより直接的に使用することを想定しました。ローカルポートを調べず、プロトコルチェックを行わずにエミュレータが存在することを想定しています。
mvr

22

このソリューションはWindows用です。

@Chris KnightのMac / Linux向けソリューションを参照)

  1. Windows Powershellを起動します。

    スタート->「powershell」と入力-> Enterキーを押します

  2. 次のコマンドを実行します:adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

この場合、12b80FF443は私の物理デバイスであり、emulator- *エントリはガベージです。

  1. @Brighamによれ、「Androidがエミュレータを検出する方法は、ポート5555から始まるポートをスキャンすることです。」ポート番号はエミュレーター名の後に示されます(この場合は5656および5652)。チェックするポート番号は、エミュレータのポート番号に1を加えたものです。この場合、次のようになります。

    5656 + 1 = 5657

    5652 + 1 = 5653

    では、これらのポートを使用しているプログラムを見てみましょう。この場合、両方をチェックするポートは「565」で始まります。したがって、使用中のポートを565から検索します。実行:netstat -a -n -o | Select-String ":565"


PS C:\Users\CJBS> netstat -a -n -o |  Select-String ":565"

  TCP    127.0.0.1:5653         127.0.0.1:5653         ESTABLISHED     5944
  TCP    127.0.0.1:5657         127.0.0.1:5657         ESTABLISHED     5944
  1. この出力の最後のフィールドはPID(プロセスID)です。この場合、これらの2つのポートの両方のPID 5944です。では、このプロセスIDを見てみましょう。実行:tasklist /v | Select-String 5944。5944を前のコマンドの出力に置き換えます。

PS C:\Users\CJBS> tasklist /v | Select-String 5944

adb.exe                       5944 Console                    1      6,800 K Running         MyPCName\CJBS          0:06:03 ADB Power Notification Window

驚いた。ADBです。他の回答で述べたように、それは他のプログラムである可能性もあります。

  1. ここで、このプロセスIDを強制終了します。を実行しkill 5944、5944を前のコマンドのPIDに置き換えます。

PS C:\Users\CJBS> kill 5944
  1. スプリアスエミュレーターがなくなったことを確認するには、次のコマンドを再実行します。adb devices

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

ADBが再起動し(以前は強制終了されていたため)、偽のエミュレーターは検出されません。


9

私はこの問題をようやく解決しました。エミュレータ[設定]から[ 開発者] オプションに移動し、少し下にスクロールして、USBデバッグをオンにする必要がありました。すぐにデバイスがオンラインで認識され、その問題に直面しなくなりました。Androidスタジオとエミュレータを再起動してadbプロセスを終了しようとしましたが、うまくいきませんでした。


1
あなたはヒーローです!
フェリペカスティリョス2018年

こんにちは@Shamsulエミュレータの設定から開発者オプションにアクセスする方法を説明していただけますか?Android StudioでAVD Managerを参照していると思います。私はこのスレッドで説明されている同じ問題があり、あなたの提案を除いて提案されたすべてのものを試しました。AVD Managerにエミュレータの開発者オプションが表示されません。
エディ

こんにちはエディ、開発者向けオプションをオンにする通常の手順は、エミュレーターと実際のデバイスで同じです。ソフトウェア情報でビルド番号を見つけ、それを繰り返しタップします。おそらく7〜10回タップすると、開発者オプションが有効になっていることがわかります。
Shamsul Arefin Sajib

8

LinuxまたはMacを使用していて、オフラインデバイスが「emulator-5554」であると想定すると、次のコマンドを実行できます。

netstat -tulpn|grep 5554

これにより、次の出力が生成されます。

tcp        0      0 127.0.0.1:5554          0.0.0.0:*               LISTEN      4848/emulator64-x86
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN      4848/emulator64-x86

これは、プロセスID 4848(おそらく異なるもの)がまだポート5554で待機していることを示しています。これで、次のコマンドでそのプロセスを終了できます。

sudo kill -9 4848

ゴーストオフラインデバイスはもうありません!


8

AVD Managerから、ドロップダウンの[Cold Boot Now]オプションを試してください。それは私のために働いた!


これはおそらく、人々がこれらの過度に複雑な他のソリューションに進む前に最初に試すべきことです...
ラルフォイド

7

私の場合、adbがうまく機能しないプロセスが見つかりました。
奇妙なプロセスを強制終了して、「adbデバイス」を実行してテストできます。

それは私のために働きました:
プロセス名MONyog.exeを殺してください


7

私は私のコマンドプロンプトを開くことによってこれを解決しました:

adb kill-server

adbデバイス

起動後、ADBはデバイス/エミュレータを検出します。


7

私も同じ問題を抱えていました。私はここで説明されているすべての解決策を試しましたが、それらは私を助けませんでした。次に、Android Virtual Device Managerですべてのエミュレーターを削除し、新しいエミュレーターを作成しました。問題は、Android Virtual Device ManagerのCPU / ABIシステムイメージ構成にありました。私のWindows10マシンでは、システムイメージを備えたエミュレーターは常にオフラインですが、システムイメージを備えたエミュレーターは期待どおりに正常に動作しています。これに注意してくださいx86x86_64


私の場合、x86システムイメージウィンドウ10、すべてのエミュレーターを削除してから再作成する必要があります
Dika

1
どうもありがとうございました。これを機能させるために多くの時間を費やしてきましたが、これが私の問題
でした

ここでは同じですが、Windows 7の上
ヴィクトルBrešan

5

書くだけ

adb -e reboot

そしてadbに満足してください))


これは、ADBにエミュレータを再起動するように指示します。オフラインとしてマークされていると機能しません。
shkschneider

以前にrm -Rf ~/.androidオフラインデバイスのクリーンアップを実行した場合に機能します。最高のコマンドであり、私の問題を解決する唯一のコマンドです。いいえ、kill-serverまたはstart-serverトリックをしました。
ビクターR.オリベイラ

4

「ユーザーデータのワイプ」オプションで問題が解決しました。エミュレータを起動するたびにユーザーデータをワイプするだけです。これは常に私のために働きます!私はWindows 8 x64、Eclipseを使用しています


上記のすべてを試しましたが、ワイプユーザーデータの消去のみで機能しました。ありがとう
Sai Ram

@SaiRam、このヒントはいくつかの回答で繰り返されたため、上記のすべてを試したわけではありません。またCold Boot Now役立ちます。
CoolMind

@SaiRam、ごめんなさい。:)ありがとう。
CoolMind

4

エミュレータへのUSBデバッグを有効にする

  1. [設定]> [端末情報]> [ビルド番号]> 7回タップして開発者になります。
  2. [設定]> [開発者向けオプション]> [USBデバッグ]。

それはお楽しみです


USBデバッグを
再度

4

アクションドロップダウンのAVDマネージャーリストから:今すぐコールドブート

上記のすべての苦痛なしでそれを再起動します。


2

AVDを削除して再作成してみましたか?AVDファイルが格納されているディレクトリ(ユーザーの/.android/avdサブディレクトリ内)に移動して、AVDファイルを手動で削除できます。


こんにちは、返信ありがとうございます。実際にやってみました。まだあります。すべてを再インストールしたくなります。
hanesjw 2010年

2

Windowsタスクマネージャーに移動し、プロセス「adb.exe」を終了します。同じプロセスのインスタンスが複数存在する可能性があります。必ずすべて終了してください。


1
「adb kill-server」はどうですか?
DagW 2013年

2

ブルースタックがインストールされていますか?実行すると、実行されるバックグラウンドプロセスによってオフラインデバイス「emulator-5554」が作成されます。

タスクマネージャーに移動し、「Bluestacks」の説明ですべてのプロセスを終了します


2

LinuxまたはMacでは、ブロックされたポートはemulator-id + 1 so 5555なので sudo lsof -i :5555 、ポートを使用しているプロセスのpid(2列目である必要があります)が表示されるので、ポートを強制終了します。 sudo lsof -i :5555 | awk '{print $2}' | xargs kill

その後、adb(偽)デバイスはリストに表示されなくなります


2

私の場合、エミュレータはOreo以下では機能しましたが、Pieでは機能しませんでした。最終的に機能したのは、エミュレーターを最新(バージョン28)に更新することでした。


私も...かなり煩わしい
アナライザ


2

エミュレータを開き、

設定->エミュレートされたデバイスについて->ビルド番号を繰り返しクリック->開発者オプションを開く-> USBデバッグを開く


問題は、エミュレータが黒い画面しか表示しないことです。これは、設定にアクセスできる場合にのみ実行できます。
Jeanne vie

1

私が使用しているadbのリビジョンが最近ではない場合、エミュレーション環境が「オフライン」になることがわかりました。パスを適切に更新し(古いadbバージョンを削除)、「adb kill-server」、「adb devices」を実行すると、エミュレーション環境が「オフライン」として起動しなくなりました。

その後、すぐに「adb shell」が使えるようになりました。


1

これを試して ...

  1. 実行中の場合はエミュレータを閉じます。

  2. エミュレータを再起動し、オンラインになるまで待ちます。

  3. コマンドプロンプトにコマンドを入力し、Enterキーを押します。adb tcpip 5555

(一度に実行できるエミュレーターが1つだけであることを確認してください。)

  1. adb -s emulator-5555 emu kill

  2. Enterキーを押します...

  3. できました。

  4. コマンドの「adb devices」コマンドでデバイスを確認します。


1

エミュレータがすでに開いているか実行されている場合は、オフラインであることを通知します。コマンドライン(Ubuntu)で再確認して実行できます。

 adb devices

エミュレータがオフラインになっていることを確認し、エミュレータの実行中のインスタンスを閉じる必要があります(ポートがビジーと表示されるため)。その後、アプリケーションを実行できます。これが誰かを助けることを願っています。


1

私はすべてを試しましたが、私のケースではこれだけが機能します:SDKマネージャーを使用して、システムイメージを再インストールします。Android Studio、[構成]、[SDKマネージャー]、[スタンドアロンSDKマネージャーの起動]の順にクリックし、すべての「Google API Intel x86 *システムイメージ」、「Intel x86 Atom *システムイメージ」を確認してインストールします。次に、Androidスタジオを再起動します。

AVD Managerで仮想デバイスを再構成してワイプする必要がある場合があります。必ずx86バージョンを選択してください。


私にとって、機能しているのはx86_64バージョンでしたが、他のバージョンは機能しませんでした
hiddeneyes02

1

ADB統合の有効化がマークされていることを確認します。[ツール]> [Android]> [ADB統合を有効にする]に移動します。

オンになっていない場合は、このオプションをオンにして仮想デバイスを閉じ、再度開きます。これは私のために働いた..幸運!!


1

仮想デバイスで同じ問題が発生しました。問題は、Playストアが統合されている仮想デバイスのOreoイメージが原因です。この問題を解決するために、Playストアを統合せずに新しいデバイスをインストールしましたが、すべて問題ありませんでした。

それが役に立てば幸い


奇妙な状況でしたが、それも私にとってそれを修正しました。
reidisaki


0

私の場合、原因はandroid-x86を組み込んだVMを再開したことです。Android-x86でVMを再起動し、adbサーバーを再起動すると、問題が修正されました。


0

これは、マシンに別の仮想デバイスがインストールされているためです。私も同様の問題に直面したので、それはBluestacksかもしれません。Bluestacksをアンインストールし、adb devices それが正常に動作していることを確認しました 。

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