Android Studioで実機デバッグを行おうとした際に、ADBで「device unauthorized」と表示され、Android端末を正常に使用できないことがあります。
List of devices attached ABC123456789 unauthorized
この状態は、PCからAndroid端末自体は認識されているものの、そのPCからのUSBデバッグ接続をAndroid端末側でまだ許可していないことを意味します。
多くの場合、実機画面に表示される「USBデバッグを許可しますか?」というRSAキー確認ダイアログを許可すれば解決します。
ただし、確認画面が表示されない、以前は接続できていたのに突然unauthorizedになった、USBデバッグを許可しても直らない、といったケースではADB認証情報やUSB接続、開発者向けオプションをリセットする必要があります。
この記事では、「adb: device unauthorized」が発生する原因と、Android Studio・ADB・実機側で確認したい解決方法を順番に解説します。
- 「adb: device unauthorized」とは
- 主な原因
- 解決方法1:実機画面でUSBデバッグを許可する
- 解決方法2:USBケーブルを抜き差しする
- 解決方法3:USBデバッグをOFF→ONにする
- 解決方法4:「USBデバッグの認証を取り消す」を実行する
- 解決方法5:ADBサーバーを再起動する
- 解決方法6:Android Studioを再起動する
- 解決方法7:PC側のADBキーを再生成する
- 解決方法8:正しいadbを使用しているか確認する
- 解決方法9:Android SDK Platform Toolsを更新する
- 解決方法10:USBケーブルを変更する
- 解決方法11:別のUSBポートを使用する
- 解決方法12:USB接続モードを変更する
- 解決方法13:端末を再起動する
- 解決方法14:PCを再起動する
- 解決方法15:WindowsではUSBドライバを確認する
- 解決方法16:Xiaomi・Redmi・POCOなどの設定を確認する
- 確認画面がどうしても表示されない場合
- 「unauthorized」と「offline」の違い
- Android Studioでは端末が見えるのに実行できない場合
- Wi-Fiデバッグを使用している場合
- セキュリティ上の注意
- それでも解決しない場合
- まとめ
「adb: device unauthorized」とは
Android Debug Bridge(ADB)は、PCとAndroid端末の間でデバッグやアプリインストール、ログ取得などを行うためのツールです。
実機をUSB接続した状態で次のコマンドを実行すると、接続状態を確認できます。
adb devices
正常な場合は次のように表示されます。
List of devices attached ABC123456789 device
一方、認証されていない場合は次のようになります。
List of devices attached ABC123456789 unauthorized
つまり、ADBから端末は見えているものの、PCと端末の間でUSBデバッグの認証が完了していない状態です。
ポイント:「unauthorized」は「端末が見つからない」という意味ではありません。USB接続自体はある程度成立しており、その後のADB認証で止まっている状態です。
主な原因
1.実機側でUSBデバッグを許可していない
最も一般的な原因です。
Android端末を新しいPCへ接続すると、端末画面に次のような確認ダイアログが表示されます。
USBデバッグを許可しますか?
このパソコンのRSAキーのフィンガープリント:
xx:xx:xx:xx:xx:xx:...
キャンセル
許可
ここで「許可」を押さない限り、ADBでは端末がunauthorizedのままになります。
2.USBデバッグ確認ダイアログを以前拒否した
誤って「キャンセル」を押した場合や、接続しているPCを許可しなかった場合もunauthorizedになります。
設定によっては、その後USBケーブルをつなぎ直しても確認画面がすぐに表示されないことがあります。
3.USBデバッグのRSA認証情報が不整合になっている
ADBでは、PC側のADBキーとAndroid端末側に登録された認証情報を利用して接続を許可します。
PCを再セットアップした、ADB環境を変更した、ユーザーフォルダを移行した、ADBキーを削除したなどの場合、端末側に保存された認証情報と一致しなくなることがあります。
4.USBデバッグの認証確認画面が表示されない
端末画面がロックされている、USB接続状態が不安定、開発者向けオプションが正しく反映されていないなどの理由で、RSAキー確認画面が表示されない場合があります。
5.ADBサーバーの状態がおかしい
古いADBプロセスが残っていたり、複数のAndroid SDKに含まれるADBが混在していたりすると、認証状態が正常に更新されない場合があります。
6.USBケーブルやUSBポートに問題がある
充電専用ケーブルではADB通信を行えません。
また、接触不良のあるケーブルやUSBハブなどを経由していると、端末自体は一時的に認識されてもADB認証が安定しないことがあります。
7.端末メーカー独自のUSB設定が影響している
Xiaomi、Redmi、POCOなど一部メーカーでは、通常のUSBデバッグ以外にもセキュリティ関連設定が存在する場合があります。
端末やOSバージョンによっては、USBデバッグ関連設定を見直す必要があります。
解決方法1:実機画面でUSBデバッグを許可する
まずAndroid端末の画面をロック解除した状態でUSB接続してください。
そのうえで、端末に次のような確認画面が表示されていないか確認します。
USBデバッグを許可しますか?
自分が使用している信頼できる開発PCであることを確認して「許可」を選択します。
毎回確認されるのを避けたい場合は、端末によっては次の項目も選択できます。
このパソコンからのUSBデバッグを常に許可する
許可後、PC側で再度確認します。
adb devices
正常になれば、表示が次のように変わります。
List of devices attached ABC123456789 device
解決方法2:USBケーブルを抜き差しする
確認ダイアログが表示されない場合は、端末の画面をロック解除した状態でUSBケーブルを一度抜き、数秒後に接続し直します。
その後、再び端末画面を確認してください。
USBデバッグ確認画面が再表示されることがあります。
解決方法3:USBデバッグをOFF→ONにする
開発者向けオプションからUSBデバッグを一度OFFにし、再びONにします。
一般的には次の場所にあります。
設定 → システム → 開発者向けオプション → USBデバッグ
メーカーによってメニュー構成は異なります。
USBデバッグを再度有効にしたあと、USBケーブルを接続し直します。
解決方法4:「USBデバッグの認証を取り消す」を実行する
以前登録したPCとの認証情報がおかしくなっている場合は、端末側でADB認証をリセットします。
開発者向けオプションにある次のような項目を選択します。
USBデバッグの認証を取り消す
英語表示では次のようになっている場合があります。
Revoke USB debugging authorizations
実行後、USBケーブルを抜き差しします。
再びRSAキーの確認画面が表示されたら「許可」を選択してください。
効果的な方法:以前は正常に接続できていたのに突然unauthorizedになった場合は、USBデバッグ認証を取り消して再認証すると解決することがあります。
解決方法5:ADBサーバーを再起動する
PC側のADB状態をリセットします。
adb kill-server adb start-server
その後、端末を確認します。
adb devices
端末側に再びUSBデバッグ確認画面が表示される場合があります。
解決方法6:Android Studioを再起動する
Android Studioが古いADB状態を保持しているように見える場合は、一度終了して再起動します。
次の順番で行うと切り分けしやすくなります。
- Android Studioを終了する
adb kill-serverを実行する- USBケーブルを抜く
- Android端末の画面をロック解除する
- USBケーブルを接続する
- USBデバッグを許可する
- Android Studioを起動する
解決方法7:PC側のADBキーを再生成する
端末側の認証をリセットしても改善しない場合は、PC側のADBキーに問題がある可能性があります。
ADBキーは通常、ユーザーのホームディレクトリ以下に保存されています。
macOS・Linuxでは一般的に次の場所です。
~/.android/adbkey ~/.android/adbkey.pub
Windowsでは一般的に次のような場所です。
%USERPROFILE%\.android\adbkey %USERPROFILE%\.android\adbkey.pub
ADBを停止したうえで、問題のあるキーを退避または削除してからADBを再起動すると、新しいキーが生成されます。
adb kill-server adb start-server
その後、USBケーブルを接続し直し、端末側で新しいRSAキーを許可します。
注意:ADBキーを再生成すると、これまで認証していたAndroid端末でも再認証が必要になる場合があります。まずは端末側の「USBデバッグの認証を取り消す」を試してから行うのがおすすめです。
解決方法8:正しいadbを使用しているか確認する
PCにAndroid SDKが複数存在すると、Android Studioとターミナルで異なるADBを使用していることがあります。
macOSやLinuxでは、次のコマンドでADBの場所を確認できます。
which adb
Windowsでは次のコマンドを使用できます。
where adb
ADBのバージョンも確認します。
adb version
古いAndroid SDKや別ツールが提供するADBがPATHの先頭に入っていないか確認してください。
解決方法9:Android SDK Platform Toolsを更新する
古いADBを使用している場合は、Android StudioのSDK ManagerからAndroid SDK Platform-Toolsを更新します。
更新後、一度ADBを終了して再起動します。
adb kill-server adb start-server adb devices
解決方法10:USBケーブルを変更する
USBケーブルが充電専用または劣化している場合は、データ転送対応ケーブルへ交換します。
特に次のような場合はケーブルを疑ってください。
- 接続と切断を繰り返す
- 端末が突然adb devicesから消える
- USBモードが頻繁に切り替わる
- 別のケーブルでは正常につながる
解決方法11:別のUSBポートを使用する
PC側のUSBポートやUSBハブに問題がある場合があります。
次の方法を試してください。
- 別のUSBポートへ接続する
- USBハブを使わずPCへ直接接続する
- USB Type-C変換アダプタを外してみる
- 別のデータ転送対応ケーブルを使用する
解決方法12:USB接続モードを変更する
端末を接続した際のUSBモードを変更すると、ADB認証が再実行される場合があります。
通知領域などからUSB設定を開き、たとえば次のようなモードへ変更します。
ファイル転送 / Android Auto File Transfer
その後、再度USBデバッグ確認画面が表示されるか確認します。
解決方法13:端末を再起動する
USBデバッグ認証サービスが一時的に正常動作していない場合は、Android端末を再起動します。
再起動後、画面をロック解除した状態でUSBケーブルを接続し、RSA確認画面を許可してください。
解決方法14:PCを再起動する
ADBサーバーを再起動しても改善しない場合は、PC側のUSBドライバやADB関連プロセスを完全にリセットするため、PCを再起動する方法もあります。
特にWindowsでUSBドライバの状態がおかしい場合に有効なことがあります。
解決方法15:WindowsではUSBドライバを確認する
Windowsでは、Android端末用USBドライバが正常に認識されているか確認します。
デバイスマネージャーを開き、Android Device、ADB Interface、Portable Devicesなどに警告マークが表示されていないか確認してください。
Google製端末などではGoogle USB Driverを利用できる場合があります。
メーカー製端末では、メーカーが提供しているUSBドライバが必要な場合があります。
ポイント:端末がunauthorizedとして表示されている場合はADBレベルまでは認識されているため、まずRSA認証を確認します。ただし接続が不安定な場合はWindowsドライバも切り分け対象になります。
解決方法16:Xiaomi・Redmi・POCOなどの設定を確認する
一部メーカーの端末では、通常のUSBデバッグ以外にも関連設定があります。
たとえば開発者向けオプションに次のような項目が存在する場合があります。
USB debugging USB debugging (Security settings) Install via USB
ただし、device unauthorized自体は基本的にはADBのRSA認証が完了していない状態なので、まず通常のUSBデバッグ許可ダイアログを確認してください。
確認画面がどうしても表示されない場合
RSAキー確認画面が表示されない場合は、次の順番を試してください。
- 端末の画面をロック解除する
- USBケーブルを抜く
- USBデバッグをOFFにする
- 「USBデバッグの認証を取り消す」を実行する
- USBデバッグをONに戻す
- PCで
adb kill-serverを実行する - USBケーブルを接続する
adb start-serverを実行するadb devicesを実行する- 端末画面に表示されたRSA確認を許可する
これでも出ない場合は、別のUSBケーブルやUSBポートも試してください。
「unauthorized」と「offline」の違い
ADBでは接続状態によって表示が異なります。
ABC123456 device ABC123456 unauthorized ABC123456 offline
deviceは正常な状態です。
unauthorizedは、端末は認識されているもののUSBデバッグの認証が完了していない状態です。
offlineは、ADBが端末を認識しているものの正常な通信セッションを確立できていない状態です。
切り分け:unauthorizedならRSA認証を優先して確認し、offlineならADB再起動・USB再接続・端末再起動など通信状態のリセットを重点的に試します。
Android Studioでは端末が見えるのに実行できない場合
Android Studioのデバイス一覧に端末名が表示されても、ADBがunauthorizedならアプリを正常にインストール・起動できません。
ターミナルから次のコマンドを実行してください。
adb devices
次の状態であれば認証が必要です。
ABC123456789 unauthorized
端末側で認証したあと、次の状態になればAndroid Studioでも使用できるようになります。
ABC123456789 device
Wi-Fiデバッグを使用している場合
Androidのワイヤレスデバッグを利用している場合は、USB接続とは別にペアリングが必要です。
ワイヤレス接続で認証状態がおかしい場合は、開発者向けオプションの「ワイヤレスデバッグ」から登録済みPCを削除し、再ペアリングしてください。
USB接続のunauthorizedとは手順が異なるため、現在USBデバッグとワイヤレスデバッグのどちらを使用しているかも確認してください。
セキュリティ上の注意
USBデバッグを許可すると、そのPCからADBを使用してアプリのインストールやログ取得などの操作が可能になります。
そのため、知らないPCや共用PCではUSBデバッグを許可しないでください。
不要になったPCの認証は、開発者向けオプションからUSBデバッグ認証を取り消すことでリセットできます。
それでも解決しない場合
「adb: device unauthorized」が続く場合は、次の項目を順番に確認してください。
- Android端末の画面がロック解除されているか
- USBデバッグがONになっているか
- RSAキー確認ダイアログを許可したか
- USBデバッグ認証を一度取り消したか
adb kill-serverとadb start-serverを試したか- USBケーブルを抜き差ししたか
- データ転送対応USBケーブルを使用しているか
- 別のUSBポートを試したか
- Android SDK Platform Toolsが古くないか
- 複数のADBがPCに混在していないか
- PC側のADBキーを再生成したか
- Windowsの場合はUSBドライバが正常か
まとめ
Android Studioの「adb: device unauthorized」は、主にPCからAndroid端末へのUSBデバッグ接続がまだ認証されていない場合に発生します。
まず次のコマンドで状態を確認してください。
adb devices
次のように表示される場合は、
ABC123456789 unauthorized
実機の画面をロック解除し、「USBデバッグを許可しますか?」というRSAキー確認ダイアログを許可します。
基本的な解決手順は次のとおりです。
- 端末画面でUSBデバッグを許可する
- USBケーブルを抜き差しする
- USBデバッグをOFF→ONにする
- USBデバッグの認証を取り消して再認証する
- ADBサーバーを再起動する
- 必要ならPC側のADBキーを再生成する
- USBケーブル・USBポート・ドライバを確認する
正常に認証されれば、adb devicesの表示はunauthorizedからdeviceへ変わります。
List of devices attached ABC123456789 device
特に「端末はAndroid Studioに表示されるのにRunできない」という場合は、USB接続そのものではなくRSA認証が完了しているかを最初に確認すると解決しやすくなります。
