[Android]手始めにadb編

雑談

こんにちは。梶松です。

今回はAndroidに挑戦してみようと思います。
Androidの入門として今回はadbについて書いていきます。
今回は目次を作ってみます。

 

adbとは?

adbとは、Android Debug Bridgeの略です。
基本的にPCにAndroid端末を接続した後に、PC側からAndroid端末を操作する際に
使用するコマンドですね。

とりあえずadbの使い方をしっていれば、なんとかなるものだと思います。

 

ではでは、早速adbの使い方に入っていこうと思います。

見てる方は、インストールなんて朝飯前の方ばかりだと思いますので、
インストールについては省略します。

ではでは、とりあえずadbでのAndroid端末へのアクセスについてですね。

意外と知らない方いるんですけども、
PCからadbを使ってのAndroid端末へのアクセス方法は2種類あります。
有線でのアクセスと無線でのアクセスの2パターンですね。

有線だと、開発者ツールをONにしてUSBデバッグモードをONにしてから
やっとアクセスできるようになると思います。
PCから端末に対してアクセスできる状態になったら

adb devices

を実行した際に端末が見えるようになっているはずです。

 

無線で、adbを用いてアクセスする場合だと、一旦有線で接続した後に

adb tcpip 5555

を実行した後に、USBでの接続を切って、無線につなぎ直してから

adb connect <ip-addr>

を実行すれば無線でのアクセスが可能になります。

adb devices

を実行すれば端末が認識されてるのがわかると思います。

 

ちなみにLINUXでは、adb devicesで認識されていても、
MTPモードではアクセスができない場合があります。
その際は、めんどくさいのですが一旦端末のvendorIDを調べます。

lsusb

を実行すればUSBに繋がってるものが以下のように一覧として表示されます。
下記の場合、一番下が自分が使用している端末なのですが、

Bus 003 Device 005: ID 0bda:0184  hogehoge

Bus 003 Device 004: ID 046d:c52b  hogehoge

Bus 003 Device 008: ID 0482:0a74  hogehoge

そこでvendorIDを調べて/etc/udev/rules.d/51-android.rules以下にルールが色々入っていると思うので、その中に追記してあげましょう。
今回の場合は上記のデバイスリストの中の一番下のものが使用しているAndroid端末になりますので、そのvendorIDを登録します。

SUBSYSTEM==”usb”, ATTR{idVendor}==”0482″, MODE=”0666″, GROUP=”plugdev”

で、追記してあげた後は、udevのサービスを再起動すればOKです。
その後、きっとMTPでデータのやりとりが可能になっているはずです。

 

 

さて、少し話が脱線しました。

adbを用いた接続の話は以上で終わりです。

接続できるようになったので、いよいよadbで操作をしていきしょう。

 

まずは端末の中に入ります。

adb shell

基本中の基本のコマンドですね。
ちなみに端末の中に入って操作したくない場合は、
実行したいコマンドを、そのまま付けてあげたらOKです。

adb shell hogehoge

もしかすると、端末の中に入って作業する事は、ほぼほぼ無いかもしれませんね笑

 

続きまして、端末内へのデータのpushとpullですね。

こちらも非常に簡単です。
Fileをpath以下に入れたいときは

adb push <File> <path>

データを抜き取りたいときは

adb pull <path+File> (保存したい場所)

でOKです。()は合ってもなくてもOKです。

ちなみにAndroid端末にもuserのホームディレクトリがあります。
これは、

/sdcard/<HomeDirectory>

になってます。
なので、Downloadフォルダからhogehoge.pngを抜きたい時は、

adb pull /sdcard/Downloads/hogehoge.png

とすれば、抜き取れます。
ちなみに、抜き取れたデータは、このコマンドを実行した際にいるpathに
保存されます。

 

続いて端末の起動についてです。

起動については基本的に2つしか無いと思います。
(通常の使い方をするのであれば(笑))

再起動をする時は以下ですね。

adb reboot

ブートローダを起動する時は以下です。

adb reboot bootloader

ブートローダを起動する事は、そうそう無いと思いますが。。。
ちなみにブートローダを起動してできる事は、
OEMロックのアンロックをする時と、
イメージを焼き変える時ですねw
たぶんこれらは普通に使ってる分にはしないと思いますが。。。

ただ、ブートローダは一点使える事があります。

それは、、、

ユーザデータの消去!!!

です!

コマンド2回でユーザデータの削除ができるので、この方法は
お手軽でおすすめです。

adb reboot bootloader (ブートローダへ

fastboot w (ユーザデータ削除

adb reboot (通常起動

2個めの「fastboot w」
これは、草はえてるわけではありません(笑)
これでユーザデータを削除できます。
画面ポチポチして初期化するよりは早いかもしれませんね。

 

で、もう一点起動する際に便利なコマンドあります。

adb wait-for-device

これは、端末を起動してからadbが使用可能な状態になるまで
待機してくれるコマンドです。
なので、以下のように使うとadb使用可能になってすぐに、
ログを取得し始めてくれます。

adb wait-for-device && adb logcat

 

さて、ここまで起動関連のコマンドを紹介しました。
まだまだ紹介したいのですが、
続きは次回へ!!!

ここまで読んで頂きありがとうございました。

雑談
interop 2019 に行って来ました!!

こんにちは、木尾木公です。 AWS summitの事については既に書いていますが、 同日に、隣の会場 …

雑談
【Amazon】インフラエンジニアの商品紹介

どーも 梶松です。 最近はAWSの資格を取得しようと毎日勉強しています。 そんなことでよくAmazo …

雑談
【一目惚れ(最終回)】インフラエンジニアのサーバ監視 part.3

こんにちは。梶松です。 さて、インフラエンジニアのサーバ監視も今回で最終回です。 と言いましても、た …