Android Studioで実機やAndroid Emulatorを使おうとした際に、ADBで「device offline」と表示され、アプリのインストールやデバッグができなくなることがあります。
List of devices attached ABC123456789 offline
この状態は、ADBがAndroid端末やEmulatorの存在自体は認識しているものの、正常なADB通信セッションを確立できていないことを示します。
原因としては、ADBサーバーの一時的不調、USB接続の不安定さ、端末側のADBプロセス異常、複数のADBが競合している、Emulatorが正常に起動しきっていない、といった問題が考えられます。
この記事では、「adb: device offline」が発生する主な原因と、実機・Android Emulatorの両方で使える確認手順と解決方法を順番に解説します。
- 「adb: device offline」とは
- 主な原因
- 解決方法1:adb devicesで現在の状態を確認する
- 解決方法2:ADBサーバーを再起動する
- 解決方法3:USBケーブルを抜き差しする
- 解決方法4:USBケーブルを交換する
- 解決方法5:別のUSBポートを使用する
- 解決方法6:USBデバッグをOFF→ONにする
- 解決方法7:USBデバッグ認証をリセットする
- 解決方法8:Android端末を再起動する
- 解決方法9:Android Studioを再起動する
- 解決方法10:EmulatorならCold Bootを試す
- 解決方法11:EmulatorでWipe Dataを実行する
- 解決方法12:Emulatorを作り直す
- 解決方法13:Emulatorが完全に起動するまで確認する
- 解決方法14:ADBの場所を確認する
- 解決方法15:Android SDK Platform Toolsを更新する
- 解決方法16:WindowsではADBドライバを確認する
- 解決方法17:USB接続モードを変更する
- 解決方法18:ワイヤレスデバッグなら再接続する
- 「device offline」と「device unauthorized」の違い
- 「device offline」のままADBコマンドを実行するとどうなる?
- 複数端末を接続している場合
- 突然offlineになった場合のおすすめ手順
- Emulatorだけofflineの場合のおすすめ手順
- セキュリティソフトやVPNは関係する?
- それでも解決しない場合
- まとめ
「adb: device offline」とは
ADB(Android Debug Bridge)は、Android StudioやターミナルからAndroid端末へ接続するための仕組みです。
接続状態は次のコマンドで確認できます。
adb devices
正常な場合は次のように表示されます。
List of devices attached ABC123456789 device
一方、通信状態に問題があると次のようになります。
List of devices attached ABC123456789 offline
offlineは、端末そのものが完全に見失われているわけではありません。
PC側のADBは端末を検出しているものの、ADBコマンドを正常に処理できる状態まで接続が確立していないことを意味します。
ポイント:offlineはUSBデバッグの認証待ちを示すunauthorizedとは別の状態です。offlineでは認証よりも、ADB通信そのものの再確立を優先して確認します。
主な原因
1.ADBサーバーの状態が不安定になっている
最もよくある原因のひとつです。
Android Studioを長時間使用していたり、実機やEmulatorを何度も接続・切断したりすると、PC側のADBサーバーが正常に端末と通信できなくなることがあります。
2.USB接続が不安定
USBケーブル、USBポート、USBハブ、変換アダプタなどの問題で通信が途切れると、端末が一時的にoffline状態になることがあります。
特に接続と切断を繰り返す場合は、ケーブルやUSBポートを疑います。
3.Android端末側のADBデーモンが応答していない
Android端末側ではadbdというプロセスがADB通信を処理しています。
端末側の状態が不安定になると、PCから端末が見えていても正常にコマンドを処理できずofflineになることがあります。
4.Android Emulatorの起動が完了していない
Emulatorでは、画面が表示され始めた直後など、Android OSやADBサービスが完全に起動する前にofflineと表示されることがあります。
emulator-5554 offline
数秒からしばらくすると自動的にdeviceへ変わる場合もあります。
5.Emulatorがフリーズしている
Android Emulatorが黒画面になっていたり、起動画面で停止していたりすると、ADBだけがEmulatorを認識し続けてofflineになることがあります。
6.PC上で複数のADBが動作している
Android StudioのSDKとは別に、古いAndroid SDKや他の開発ツールがADBを持っている場合があります。
異なるバージョンのADBが競合すると、端末との通信状態がおかしくなることがあります。
7.USBデバッグ設定が一時的に不安定になっている
実機でUSBデバッグを長期間使用していると、開発者向けオプションやADB認証状態を一度リセットすることで改善する場合があります。
8.ワイヤレスデバッグの接続が切れている
Wi-Fi経由でADBを使用している場合、ネットワーク切断、IPアドレス変更、スリープなどによって接続だけが残り、offlineになる場合があります。
解決方法1:adb devicesで現在の状態を確認する
最初にターミナルから次のコマンドを実行します。
adb devices
次のように表示される場合はoffline状態です。
List of devices attached ABC123456789 offline
Emulatorの場合は次のようになります。
List of devices attached emulator-5554 offline
まず実機なのかEmulatorなのかを確認し、それぞれに適した対処を行います。
解決方法2:ADBサーバーを再起動する
最初に試したい解決方法です。
ADBサーバーを終了します。
adb kill-server
続けて再起動します。
adb start-server
その後、端末状態を確認します。
adb devices
正常になれば次のように表示されます。
List of devices attached ABC123456789 device
まず試す方法:突然offlineになった場合は、最初にadb kill-serverとadb start-serverを実行するのが簡単です。
解決方法3:USBケーブルを抜き差しする
実機の場合は、USBケーブルを一度取り外して再接続します。
その際、Android端末の画面をロック解除しておくと、USBデバッグやUSB接続に関する確認画面を確認しやすくなります。
再接続後に次のコマンドを実行します。
adb devices
deviceへ戻っているか確認してください。
解決方法4:USBケーブルを交換する
USBケーブルが劣化していたり、充電専用ケーブルだったりするとADB通信が安定しません。
次のような症状がある場合は、別のデータ転送対応ケーブルを試してください。
- 接続と切断を繰り返す
- adb devicesで表示されたり消えたりする
- offlineとdeviceを繰り返す
- ファイル転送も不安定
解決方法5:別のUSBポートを使用する
PCのUSBポートやUSBハブが原因の場合もあります。
次の方法を試してください。
- 別のUSBポートへ接続する
- USBハブを外す
- PC本体へ直接接続する
- 不要な変換アダプタを外す
特に不安定なUSBハブ経由ではADB接続が途切れることがあります。
解決方法6:USBデバッグをOFF→ONにする
Android端末の開発者向けオプションからUSBデバッグを一度OFFにします。
その後、再びONにしてください。
設定 → システム → 開発者向けオプション → USBデバッグ
メニュー名称や場所は端末メーカーによって異なります。
USBデバッグを有効にし直したあと、ケーブルを再接続します。
解決方法7:USBデバッグ認証をリセットする
offlineだけでなく認証状態にも問題があるようなら、USBデバッグ認証をリセットします。
開発者向けオプションから次の項目を選択します。
USBデバッグの認証を取り消す
英語環境では、
Revoke USB debugging authorizations
と表示される場合があります。
その後、USBケーブルを接続し直し、表示されたRSAキー確認画面で開発PCを許可します。
注意:端末が単純にofflineになっているだけなら、まずADB再起動とUSB再接続を試してください。認証リセットはそれでも改善しない場合に行うとよいでしょう。
解決方法8:Android端末を再起動する
端末側のadbdやUSBサービスが正常に動作していない場合は、端末再起動が有効です。
再起動後は、次の順番で接続します。
- Android端末を起動する
- 画面ロックを解除する
- USBケーブルを接続する
- 必要ならUSBデバッグを許可する
adb devicesを実行する
解決方法9:Android Studioを再起動する
ADBサーバーを再起動してもAndroid Studio側で端末がofflineのまま表示される場合は、Android Studio自体を再起動します。
Android Studio終了後に、次のコマンドを実行してから起動し直す方法もあります。
adb kill-server adb start-server
解決方法10:EmulatorならCold Bootを試す
Android Emulatorがofflineの場合は、通常の再起動ではなくCold Bootを試します。
Android StudioのDevice Managerから対象AVDのメニューを開き、Cold Boot Nowを実行します。
Quick Bootのスナップショット状態に問題がある場合、Cold Bootで正常に戻ることがあります。
解決方法11:EmulatorでWipe Dataを実行する
Cold Bootでも改善しない場合は、AVDのデータを初期化します。
Android StudioのDevice Managerから対象AVDに対してWipe Dataを実行します。
注意:Wipe Dataを実行すると、Emulator内にインストールしたアプリ、設定、保存データなどが削除されます。
初期化後にEmulatorを起動し、次のコマンドで確認します。
adb devices
解決方法12:Emulatorを作り直す
特定のAVDだけoffline状態を繰り返す場合は、新しいAVDを作成するほうが早い場合があります。
Device Managerから新しいAndroid Virtual Deviceを作成し、正常にdeviceとして認識されるか確認してください。
解決方法13:Emulatorが完全に起動するまで確認する
Emulator起動直後は次のように表示されることがあります。
emulator-5554 offline
OSの起動が進むと、
emulator-5554 device
へ変わる場合があります。
起動が完了してホーム画面が表示されてもofflineのままなら、ADB再起動やCold Bootを行います。
解決方法14:ADBの場所を確認する
複数のAndroid SDKがインストールされていると、Android Studioとターミナルが別のADBを使っている可能性があります。
macOSやLinuxでは次のコマンドで確認します。
which adb
Windowsでは次のコマンドです。
where adb
ADBのバージョンも確認します。
adb version
古いSDKや別の開発ツールに含まれるADBがPATH上で優先されていないか確認してください。
解決方法15:Android SDK Platform Toolsを更新する
古いADBを使用している場合は、Android StudioのSDK ManagerからAndroid SDK Platform-Toolsを更新します。
更新後はADBを再起動してください。
adb kill-server adb start-server adb devices
解決方法16:WindowsではADBドライバを確認する
Windowsで実機が頻繁にofflineになる場合は、USBドライバやADB Interfaceの状態も確認します。
デバイスマネージャーを開き、次のような項目に警告マークがないか確認してください。
- Android Device
- Android ADB Interface
- Portable Devices
- Other devices
メーカーによっては専用USBドライバが必要になる場合があります。
解決方法17:USB接続モードを変更する
端末のUSBモードを変更すると接続が再確立される場合があります。
USB通知から、たとえば次のモードを試します。
ファイル転送 / Android Auto File Transfer
変更後に再度adb devicesを確認してください。
解決方法18:ワイヤレスデバッグなら再接続する
Wi-Fi経由のADBでofflineになった場合は、一度接続を解除して再接続します。
従来のTCP/IP接続を使用している場合は、環境に応じて次のように切断できます。
adb disconnect
特定の接続先を指定する場合:
adb disconnect 192.168.1.100:5555
必要な設定を行ったうえで再接続します。
adb connect 192.168.1.100:5555
Androidの「ワイヤレスデバッグ」機能を利用している場合は、開発者向けオプションからペアリング済み端末を確認し、必要なら再ペアリングします。
「device offline」と「device unauthorized」の違い
ADBでは次のような状態があります。
ABC123456 device ABC123456 offline ABC123456 unauthorized
deviceは正常にADB通信できる状態です。
offlineは、ADBが端末を認識しているものの、正常な通信セッションを確立できていない状態です。
unauthorizedは、端末は見えているものの、そのPCからのUSBデバッグをまだ認証していない状態です。
切り分け方法:offlineならADB再起動、USB再接続、端末・Emulator再起動を優先し、unauthorizedなら端末画面のRSA認証を優先して確認します。
「device offline」のままADBコマンドを実行するとどうなる?
端末がofflineの場合、次のようなADBコマンドを実行しても正常に動作しない場合があります。
adb shell
たとえば次のようなエラーになることがあります。
error: device offline
この状態ではアプリインストールも失敗します。
adb install app-debug.apk
先にadb devicesで状態がdeviceへ戻っていることを確認してください。
複数端末を接続している場合
複数の実機やEmulatorが接続されていると、そのうち1台だけofflineになっている場合があります。
List of devices attached ABC123456 device XYZ987654 offline emulator-5554 device
正常な端末へADBコマンドを送る場合は、シリアル番号を指定できます。
adb -s ABC123456 shell
offlineになっている端末については、個別にUSB接続や再起動を確認してください。
突然offlineになった場合のおすすめ手順
それまで正常だった端末が突然offlineになった場合は、次の順番で試すと効率的です。
adb devicesで状態を確認するadb kill-serverを実行するadb start-serverを実行する- USBケーブルを抜き差しする
- 端末画面をロック解除する
- 実機を再起動する
- 別のUSBケーブル・USBポートを試す
Emulatorだけofflineの場合のおすすめ手順
実機は正常なのにAndroid Emulatorだけofflineの場合は、次の順番で確認します。
- Emulatorが完全に起動するまで確認する
- ADBサーバーを再起動する
- Emulatorを終了して再起動する
- Cold Boot Nowを実行する
- Wipe Dataを実行する
- 必要ならAVDを新規作成する
セキュリティソフトやVPNは関係する?
USB接続の実機では頻度は高くありませんが、セキュリティソフトやネットワーク制御ソフトがADB関連通信へ影響する場合があります。
特にワイヤレスADBでは、VPNやファイアウォールによって端末との通信が切れる可能性があります。
Wi-Fi接続だけでofflineになる場合は、USB接続でも同じ問題が起きるか確認すると原因を切り分けやすくなります。
それでも解決しない場合
「adb: device offline」が続く場合は、次の項目を順番に確認してください。
adb kill-serverとadb start-serverを実行したか- USBケーブルを抜き差ししたか
- 別のデータ転送対応ケーブルを試したか
- 別のUSBポートを試したか
- USBデバッグをOFF→ONにしたか
- 端末を再起動したか
- Android Studioを再起動したか
- Platform Toolsを更新したか
- 複数のADBがPCに存在していないか
- WindowsのADBドライバに問題がないか
- EmulatorならCold BootやWipe Dataを試したか
- ワイヤレスADBなら再接続・再ペアリングしたか
まとめ
Android Studioの「adb: device offline」は、ADBがAndroid端末やEmulatorを認識しているものの、正常な通信セッションを確立できていない状態です。
まず次のコマンドで状態を確認します。
adb devices
次のようにofflineと表示された場合は、
ABC123456789 offline
最初にADBサーバーを再起動してください。
adb kill-server adb start-server adb devices
基本的な解決順序は次のとおりです。
- ADBサーバーを再起動する
- USBケーブルを再接続する
- USBデバッグを再有効化する
- Android端末を再起動する
- USBケーブル・ポートを変更する
- Platform Toolsを更新する
- EmulatorならCold BootやWipe Dataを試す
- ワイヤレス接続なら再接続・再ペアリングする
正常に通信できるようになると、adb devicesの表示はofflineからdeviceへ変わります。
List of devices attached ABC123456789 device
突然offlineになっただけならADB再起動やUSB再接続で直ることが多く、繰り返し発生する場合はUSBケーブル、ADBの重複、Platform Tools、端末またはAVD自体の状態まで確認すると原因を特定しやすくなります。
