adb接続がうまくいかない時(自動ブロッカー)

セキュリティ

adbでandroidに接続しようとしたところ、自動ブロッカーによって止められていましたので、解除方法について記載します。

環境

クライアント Windows11 Home
接続先端末 Galaxy S24(OS Android14)

症状について

 クライアントから接続先端末にadb接続ようとしたところ、デバイスを認識しません。
 PowerShellから次のコマンドを入力してadbサービスが起動しているか確認したところ、adbサービスは正常に起動していることがわかります。

# PowerShell
PS > cd adbインストール先
PS > .\adb.exe devices
List of devices attached
#                                 ←ここにデバイス名が表示されない

PS > netstat -nao | Select-String "5037"
  TCP         127.0.0.1:5037         0.0.0.0:0              LISTENING       ****

<ADBがつながらない時のチェック項目>
 クライアントはADBサービスが起動しているか 〇
 5037番ポートでLISTNINGしているか     〇
 接続先端末との接続はデータ転送ケーブルか  〇
 接続先端末は開発者モードになっているか   〇
 接続先端末のUSBデバックはONになっているか ×

「USBデバック」に原因がありそうです。
 接続先端末を確認するとUSBデバックがグレイアウトし、「自動ブロッカーによる制限」と書かれています。

対応

 自動ブロッカーは
  「設定」→「セキュリティおよびプライバシー」→「追加のセキュリティ設定」
にいます。
 android14から導入された新機能の一つのようです。

説明を見ると、USBによるコマンドやインストールをブロックする等と書かれており、原因はここにありそう。

 この機能が妨害しているようですので、OFFにします。
 解除時には指紋認証かPIN認証が求められました。
 解除すると開発者向けオプションの「USBデバッグ」が選択可能になり、ONにすることができました。

PowerShellからadbを使って無事認識されました。

# PowerShell

# 念のため一度サービスを停止
PS > .\adb.exe kill-server 

# サービスの起動
PS > .\adb.exe devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
**********     device

感想

 色々やって解除はしたものの、自動ブロッカーの必要性に疑問を感じました。
 USBデバックに指紋認証をつけた方がわかりやすかったのではないかと感じています。
 あちこちに設定が分散するのは使いにくいですからね。
 一般の人が見ない開発者モード内のバージョンアップだと、機能が目立たないから外に出したのかも。