/

Android端末内のTermuxからその端末自体にadb接続する2 (PC・USBケーブル不要)

adb
adb shell してls

以前にAndroid端末内のTermuxからその端末自体にadb接続するという記事を書いたのですが、内容がちょっと古くなっていたので内容を修正して再度公開します。

前回の記事ではTermux-adbというツールを使いましたが今回は使いません。

また、今回の方法は機種によってはroot化していない端末でもPCを使わずにAndroid端末にadb接続できます。

1.Termuxのインストールとadbのインストール

  1. Android端末にTermuxをインストールするには下記の公式リンクを参照してください。githubからインストールする方法もありますが、F-Droidからインストールするのが楽だと思います。
  2. ターミナル用キーボードアプリをインストールする(必須ではない)には下記のリンクを参照してください。
  3. Termuxを起動し下記のコマンドを叩きます
# パッケージのアップデート
$ pkg update
$ pkg upgrade

# adb のインストール
$ pkg install android-tools

2.開発者オプションでUSBデバッグをONにする

  1. Android端末の設定画面の下の方に「端末情報」というのがあるのでタップ
    • 端末やメーカーによって名前が違う可能性や場所が違う可能性があります。私の持っているAsus Zenfone 3 Laserだと「端末情報」が「システム」内にありました。
  2. どこかに「ビルドナンバー」という表示があるので10回くらいタップ
    • 「端末情報」の下に「ビルド番号」という名前である場合もあります、また「端末情報」=>「ソフトウェア情報」内にあることもあります。
  3. 設定の下の方に開発者向けオプションが表示されます
    • これも表示されるところは端末によって違うので探してみてください。
  4. 開発者向けオプションをONにして、さらに下の方にあるUSBデバッグをONにします

3.adb devicesで接続

  1. Termuxで下記のコマンドを打つ
# 接続
$ adb devices

## Android端末の画面に接続を許可するかが出るので "OK"

これで繋がります。これでadb shellを叩いてTermuxからAndroidの中に入り込めます。

なお、この方法でダメな場合は下記の4の方法でやってみてください。

4.PCと接続してから adb connect

この方法はPCとUSBケーブルが必要になります。

  1. PCとAndroid端末をUSBケーブルで繋げる
  2. PCでターミナルを起動する(コマンドプロンプトなど)
# @PC

# 接続
$ adb devices

# 端末にadb接続していいかアラートが表示されるのでOKする

# Wi-Fi接続の許可
$ adb tcpip 5555

# IPの確認
$ adb shell ip route
## 表示されたIPをメモ
  1. PCとAndroid端末からUSBケーブルを外す

  2. Android端末でTermuxを起動

# @Termux in Android

# Android内のTermuxからAndroid端末に対してadb接続
## IPは上記でメモしたもの
$ adb connect <ip>:5555

## Android端末の画面に接続を許可するかが出るので "OK"

# adb接続を切る
$ adb disconnect
  1. adb connectでエラーが出るまたは接続できない場合
# connectでエラーが出る場合は
$ adb devices

Termuxからadbコマンドを叩いて何をするのかちょっと想像がつかないのですが、androidにTermux+adb+sshで画像処理自動化をスタンドアローンで動かせる説が浮上!!ということにチャレンジしている記事もあるのでアイディア次第で面白いことができるはずです。