Android端末内のTermuxからその端末自体にadb接続する
TermuxとTemuxでadbを使うスクリプトを使ってルート化とか特殊なことをせずに、PCとAndroid端末をUSBケーブルを一度も使わずにWi-Fiだけでadb接続できるのではないか!?ということを発見したつもりになって記事を書いたのだが、間違いであることがわかった。
普通のAndroid端末だと一度はUSBで接続しないとWi-Fi経由でのadb接続はできない。
先走ってしまった。
ただ、怪我の功名というか、七転び八起きというかなんというか、せっかく発見したつもりになって書いたことがなくなるのももったいないのでTermux内から自身が走っているAndroid端末にadb接続するという、何に使うのか微妙にわからない方法を説明します。
AndoidにTermuxのインストールとTermux用adbのインストール
- Android端末にTermuxをインストールする 下記のリンクを参照
- ターミナル用キーボードアプリをインストールする(必須ではない) 下記のリンクを参照
- このリンクを開いておく Termux-adb:github
- Termuxでの操作
- インストールしたTemuxを起動して下記のコマンドを打つ
# Termuxで
$ apt update && apt install wget && wget https://github.com/MasterDevX/Termux-adb/raw/master/InstallTools.sh && bash InstallTools.sh
失敗するようであればhttps://github.com/MasterDevX/Termux-adb/README.md の How to install => Common installation のコマンドまたは Silent installation のコマンドを試す
PC側からAndroid端末のadbのWi-Fi接続をONにする
- PCとAndroid端末をUSBケーブルで繋げる
- PCでターミナルをたちあげる(コマンドプロンプトとか、cygwinとかターミナルとか)
- 下記のコマンドを打つ
# 接続
$ adb devices
# 端末にadb接続していいかアラートが表示されるのでOKする
# Wi-Fi接続の許可
$ adb tcpip 5555
# IPの確認
$ adb shell ip route
## 表示されたIPをメモ
- PCとAndroid端末からUSBケーブルを外す
Termuxから端末にadb接続
- Android端末でTermuxを起動
- 下記のコマンドを打つ
# Android内のTermuxからAndroid端末に対してadb接続
## IPは上記でメモしたもの
$ adb connect <ip>:5555
## Android端末の画面に接続を許可するかが出るので "OK"
# adb接続を切る
$ adb disconnect
Termuxからadbコマンドをたたけるので、色々面白いことができそうですが、どんな面白いことができるのかはちょっと想像できません。
あと、そんなことは無いと思うのですが、ここで使った"/MasterDevX/Termux-adb"がXDA内のFirestick関連ので、クリプトマイニングツールではないか?と揶揄?されています。
文脈からTermuxのことか、もしくはshizukuというアプリ?のことを指しているようにも見えるのですが、よくわかりません。
"/MasterDevX/Termux-adb"はアンインストールの方法も提供されているので、おそらく大丈夫だとは思いますが、使用は自己責任でお願いします。
[ 参考 ]
https://github.com/MasterDevX/Termux-adb
https://forum.xda-developers.com/fire-tv/general/suprise-root-pc-adb-fire-stick-to-t3918668