エミュレーターは実行中です。しかしadb shell
、シェルに書き込むと、次のようになります。
エラー:デバイスがオフライン
これの理由は何ですか?どうすればそれを取り除くことができますか?
エミュレーターは実行中です。しかしadb shell
、シェルに書き込むと、次のようになります。
エラー:デバイスがオフライン
これの理由は何ですか?どうすればそれを取り除くことができますか?
「adb devices」にデバイスがリストされているが、「オフライン」の可能性がある場合、パスが adb の古いバージョン (1.0.29 など) につながっている可能性があり、最新の Android 4 デバイスでは問題があります。「adb version」が 1.0.31 以上を返すことを確認してください。Android 4.2.2 以降では、信頼できるコンピューターに接続されていることをデバイスで確認する必要があります。adb バージョン 1.0.31 以降で動作します。
それは私に一度起こりました。デバイスを再起動しただけで、問題は解決しました。
同じエラーが発生したとき、プラグを抜いて差し込んだだけで、エラーは消えました。
コンピューターを再起動し、同時に電話を再起動しました。adb devices は正常に戻ります。
方法 1 :
Linuxターミナルでこのコマンドを実行します
sudo adb kill-server
sudo adb devices
CMDでこのコマンドを実行します
adb kill-server
adb devices
「adb devices」の結果には、id を持つデバイスが表示される必要があります。id の代わりにオフラインになっている場合は、タブで許可を与える必要があることを意味します。Android で USB デバッグを有効にしてデバイスを初めて接続すると、許可を与えるための警告ダイアログが表示されます。ポップアップが表示されない場合は、[開発者] オプションで [Revoke USB Permission] をクリックして、一度試してください。
方法 2:
デバイスの接続モードをメディアからカメラに変更してください。
方法 3 :
adb とデバイス ドライバーを更新します。
USB 経由で接続している場合は、プラグを抜き、再度差し込んでください。
WiFi 経由で接続している場合は、電話で WiFi を無効にしてから再度有効にします。
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
ゴースト オフライン デバイスはもうありません。
スーパーユーザーであることを確認してください。「adb start-server」の代わりに「sudo adb start-server」を実行し、パスワードを入力して (エコーしません)、Enter キーを押します。次に、「sudo adb devices」を実行すると、オンラインとして表示されます。
私の場合
adb kill-server
adb connect [ip_address_of_device]
この状態は 2 回発生しました。1 回目は、PC でコマンド「adb kill-server」を使用し、Android デバイスを再起動しました。出来た。ただし、2 回目はこの方法が機能しなくなりました。今回は、ネットワークを切断して再接続しました。出来た。