いつもの楽しい活字中毒の感じからするとちょっと異質ですが、今回からプログラミング関連の話題も投稿していきます。
Android端末をPCから操作するときに使うのがADB(Android Debug Bridge)です。
いつもADBと言う単語を聞くとAndroid Device Bridgeという文字面が思い浮かぶのですが、調べるたびにAndroid Debug Bridgeだったんだと毎回思ってます。
ADBについてまとめて書かれているブログとかが思いのほか少ないのでまとめてみました。
AndroidにROMを焼くときとかは結構多用します、使う人は使うけど使わない人は全く使わないコマンドです。
ADBの入れ方
いきなりQittaの記事へのリンクですが、下記がわりとまとまってるので下記を参考にPCにADBを入れてください。
Qiita - ADBコマンド導入の方法下準備
ADBをPCに入れたら、PC内にAndroidエミュレータを起動するか、起動済みのAndroid端末をUSBでPCにつなげます。
- つなげるとたぶんPC側でドライバのインストールが始まります、インストール済みなら始まりません
- Android端末の設定画面の下の方に「端末情報」というのがあるのでタップ
- 端末やメーカーによって名前が違う可能性や場所が違う可能性があります。私の持っているAsus Zenfone 3 Laserだと「端末情報」が「システム」内にありました。
- どこかに「ビルドナンバー」という表示があるので10回くらいタップ
- 「端末情報」の下に「ビルド番号」という名前である場合もあります、また「端末情報」=>「ソフトウェア情報」内にあることもあります。
- 設定の下の方に開発者向けオプションが表示されます
- これも表示されるところは端末によって違うので探してみてください。
- 開発者向けオプションをONにして、さらに下の方にあるUSBデバッグをONにします
- PCにつないでいるとAndroidの画面に、「このPCに接続を許可しますか?」みたいな表示が出るのでOK
6.が出ない場合はUSB接続を一旦解除してからもう一度つなげてみてください。
コマンド
Windowsならコマンドプロンプトかcygwin、Macならターミナルを起動します。
接続済み端末の確認
接続済みのデバイスのリストが表示されます。Androidエミュレータだとたぶんemulator-5554だと思います。
一番地味なコマンドですが一番使います、うまく行かないときにコレを打つとリストに何も表示されず実は接続されていなかったりします。そんなときはUSBを再接続してみてください。純正のケーブルであれば大きな問題はないでしょうが充電のみにしか使えないケーブルなどもありますので注意してください。
1 | $ adb devices |
ADBの停止と再スタート
$adb devices
でリストが表示されない場合などはこれで停止してから再起動します。
1 | # Stop |
端末指定
端末をPCに複数繋いでいる場合とかに必須です。ただ、繋いでいてもUSBデバッグがONになっていて、かつPCの接続も許可している端末が複数ある場合です。
2台つながってるけど、1台は充電だけとかの場合はadbからは無視されるので-s
は付けなくても大丈夫です。
1 | # シリアルナンバーの指定 |
logcat
Androidのログを表示します。見ていると楽しいですが、かなり出ます。スクロールしたりタップしてみると面白いです。
1 | # log表示 |
Android端末の設定値取得と設定
Android端末の設定値を取得できます、キャリアの情報とかが見られます。これも見るだけで結構楽しいです、会社の昼休みに見ると昼休みが潰れます。
setpropで設定値も変えられるようですが、たぶん普通の端末では動きません。Root化している端末とかなら動くかもしれませんが試してないのでわかりません。
1 | # シェルに入ってgetprop |
アプリのインストール
アプリがPlayストアにはなくて、どこか怪しい場所からダウンロードしてきた場合とか、アプリの開発時とかに使います。普通は使いません。
1 | # まずはapkファイルのあるディレクトリに移動 |
PCからファイルを端末にコピー push
PCからAndroid端末にファイルをコピーする際に使います。Rom焼くときとかは結構使いますが普通は使わないですね。
1 | $ adb push nantyara.zip /sdcard/nantyara.zip |
スペースを含むディレクトリにディレクトリごとpushする場合。
1 | # 同名のディレクトリを作り |
ファイルをPCにコピー pull
Android端末からPCにファイルをコピーする際に使います。画像とかを引っ張ってくるときに使います。
使用場面としては端末内にある画像とかをPCに送りたい時にDropboxとかEmailだと遅い場合とかでしょうか。
1 | $ adb pull /sdcard/nantyara.zip nantyara.zip |
fastboot/bootloader起動
fastbootモードを起動するときに使います。大体は端末をオフにしてからボリュームダウンかボリュームアップボタンを押しながら電源ボタンを押すと入れますが、稀にというかそれでは入れないことが結構あります。そんなときにコレを使います。まず普通にAndroidを起動してからこれを打つのキモです。
1 | # たぶんこれで起動する |
recovery起動
リカバリ(recovery)モードを起動するときに使います。これもfastboot同様大体はAndroidのボリュームダウンかボリュームアップボタンを押しながら電源ボタンを押すと入れますが。
1 | # たぶんこれでいける |
sideload
これはカスタムロム焼くときにしか使いません、ロムを端末に焼くには普通Android端末側にロムのデータを入れて、そこからリカバリを使ってロムを焼きます。
内部ストレージかSDカードにロムを入れるのが普通です。
でも稀に内部ストレージが死んでいたりします(実際に全部死んでいたらたぶん起動できませんが)、さらにSDカードも使えない場合があります。そんなときにコレを使います。
まず、前提としてリカバリ(recovery)モードに入っていることです。何らかの方法で入ってください、もしかして端末によってはfastbootモードかもしれませんが、そんなことはないかもしれません。
まずリカバリモードで”apply update from ADB”とか”adb sideload”とかを選択します、それからPCとUSBで繋ぎます。もちろんというかUSBデバッグがONになっている必要があります。
(apply from ADBとかadb sideloadにした場合はUSBデバッグはONになってなくてもよかったかもしれません)
1 | # まずはROMファイルのあるディレクトリに移動 |
成功するとロムのインストールが始まります。でもインストールが成功するかは神のみぞ知ります。
ポートフォワード
USB経由でandroidにPC側からアクセスするときとかに使います。Android内でSSHを立ち上げてPCから接続するときとかに使いますが、普通は使いませんね。
1 | # start |
Wi-Fi越しにADBコマンドを叩けるようにする
Wi-Fi経由でandroidにアクセスできます。これも普通は使いませんね。
前提として、PCとAndroidが同じWi-Fiネットワーク内にいる必要があります。
また、PCが有線LANにつながっていると有線LANが優先されるはずなので、有線LANは抜いてから試してみてください。
1 |
|
いかがでしたでしょうか。
私はAndroidにカスタムロムを焼いたりしているのでかなり使います。adb devicesは毎日1回はたたきます。
楽しいからみんなやればいいと思うのですが、まあ普通はやらないでしょうね。
追記:
fastbootのコマンドリスト(不完全詳細版)という記事も書いたのでよければ参考にしてください。
どうやってロム焼くのか気になった方は下記も
Nexus 5にAndroid Pieを入れる
参考リンク
https://developer.android.com/studio/command-line/adb?hl=ja