中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

windowsからadb(Android Debug Bridge)でAndroid端末にコマンドを送る

adb(Android Debug Bridge)とはAndroid端末と通信できるコマンドラインツールです。
今回はwindowsPCからAndroid端末へネットワーク経由でコマンドを送ってみます。

①【platform-tools】をダウンロードする

まずはadbコマンドを使えるように【platform-tools】をダウンロードします。
【Android Studio】をインストールすると【platform-tools】も使えるようになるのですが
環境に【Android Studio】を入れたくないので
【platform-tools】のみをダウンロードします。


まずは下記よりダウンロードします。
https://developer.android.com/studio/releases/platform-tools

サイトにアクセスして【Download SDK Platform-Tools for Windows】をクリックします。
f:id:tsu--kun:20190627160501p:plain


同意してダウンロードをクリックでダウンロードが始まります。
f:id:tsu--kun:20190627160515p:plain


ダウンロードしたzipファイルを任意の場所に解凍します。
今回は【C:\Users\【ユーザー名】\platform-tools】にしました。
f:id:tsu--kun:20190627160726p:plain

②環境変数にPATHをとおす

adbコマンドを使う度にチェンジディレクトリを毎回行うのも面倒なので
環境変数を登録します。
私の環境が【windows10】なので、以下【windows10】のやり方です。

【windows】+【R】キーを押して【ファイル名を指定して実行】ダイアログを表示させ
【sysdm.cpl】と入力して【OK】をクリックします。
【詳細設定】タブにある【環境変数】をクリックします。

【システム環境変数】の【Path】を選択して【編集】をクリックします。
f:id:tsu--kun:20190627160740p:plain


【新規】をクリックして【platform-tools】のパスを貼り付けます。
f:id:tsu--kun:20190627160750p:plain


これで準備が整いました。

③adbコマンドを送ってみる

コマンドプロンプトを起動します。
ここから【adb】から始まるコマンドを送ることが出来るようになっています。
早速Android端末に接続してみます。
今回はネットワーク経由で接続するので
adb connect 192.168.xxx.xxx:port番号
で接続します。

>adb connect 192.168.0.110:5555
connected to 192.168.0.110:5555

上記のように表示されれば接続は完了です。

>adb connect 192.168.0.110:5555
cannot connect to 192.168.0.110:5555: 対象のコンピューターによって拒否されたため、接続できませんでした。 (10061)

と表示された場合は【IPアドレス】の確認をして、問題がなければポートが間違っている場合があります。
この場合
adb tcpip portNo
で【listen port】を指定してあげます。

>adb tcpip 5555
restarting in TCP mode port: 5555

※上記は自己責任でお願いします。


切断します。

>adb disconnect
disconnected everything


ここまでが一連の手順になります。
下記はよく使うコマンドのメモ。

端末に接続
adb connect 192.168.xxx.xxx:portNo
端末から切断
adb disconnect 192.168.xxx.xxx
接続デバイス一覧
adb devices
シェルを起動
adb shell
端末のログを確認
adb logcat
ファイルを削除する
adb -s 192.168.xxx.xxx shell rm 【pass】
ファイルの取得
adb -s 192.168.0.101 pull 【Androidのpass】 【windowsのpass】
apkインストール
adb install 【ファイル名】
apkアンインストール
adb uninstall 【ファイル名】
アプリの起動
adb shell am start -n 【パッケージ名】/【Activityのフルクラス名】
スクリーンショットの取得
adb -s 192.168.0.102 shell screencap -p 【Androidのpass】
開いているActivityの取得
adb shell dumpsys activity