ADBの個人的なまとめ

#ADBの個人的なまとめ
Android Debug Bridgeの略で
早い話がPCとAndroid端末をUSBとか使って通信して
デバッグとか操作とかしちゃうよって話

あ、Macでやります

※全て自己責任で

##内容
導入
起動確認
helloworld
ファイルやり取り
外部からshellを叩きたい
解像度、アス比変更

後日追記
screencap
screenrecord

##目的
個人的なまとめ

##使用機材
Mac Mini (Late2014)

```
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.4
BuildVersion:	18E226
```

Homebrew

```
$ brew -v
Homebrew 2.1.8
Homebrew/homebrew-core (ry
Homebrew/homebrew-cask (ry
```

端末
![IMG_6582.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/662ceda5-241e-5337-53e4-2246247a84b9.jpeg)
Xperia Z5 compact (E5823)
Android 7.1.1

##導入
別記事に

```
brew install android-platform-tools
```
って書いてあったけどうちでは、

```
$brew install android-ploatform-tools
Error: No available formula with the name "android-platform-tools"
Found a cask named "android-platform-tools" instead.
Did you mean to type "brew cask install android-platform-tools"?
```
って罵られる。
ので、
言われた通りに

```
$ brew cask install android-platform-tools
```
でインストールする。

##起動
事前にUSBデバッグを有効化しておくこと

```
$ adb
```

```
$ adb
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as /usr/local/bin/adb
(ry
```

##初めての HelloWorld
とりあえず端末内にアクセスする

```
$ adb shell
E5823:/ $
```
E5823(Z5c)内に入れた（んだろうと思う）
基本的なLinuxコマンドが使用できる（と思う）

とりあえず作業ディレクトリを作る

```
E5823:/ $ cd sdcard
E5823:/ $ mkdir works
E5823:/ $ cd works
E5823:/ $ pwd
/sdcard/works
```
helloworldを記述するが、
どの言語に対応しているかわからない。

```
E5823:/ $ ls /system/bin/
```
（使えるコマンド確認）
で確認するととりあえずshはいいのかなって感じ

もちろんvimもnanoもemacsもないので
無知な僕はechoで書きます。１行なので

```
$ echo "echo HelloWorld!" > hello.sh
```
確認

```
E5823:/ $ cat hello.sh
echo HelloWorld!
```
実行

```
E5823:/ $ sh hello.sh
HelloWorld!
```
まぁこんなスクリプトは内部で記述しなくてもいいんだけどね

```
E5823:/ $ exit
```
出るときはexitで

##ファイルの出し入れ
外部からAndroid端末のファイルの出し入れを行う

###pull
``` format
$ adb pull 欲しいAndroid内ファイル 保存先
```
さっきのhello.shを取ってくる

```
$ adb pull sdcard/works/hello.sh .
sdcard/works/hello.sh: 1 file pulled. 0.0 MB/s (17 bytes in 0.005s)
$ cat hello.sh
echo HelloWorld!
```

###push
```
$ adb push 送りたいファイル　Android内の保存先
```

``` hoge.sh
echo Hello Android!
```
こいつを送ってみる

```
$ adb push hoge.sh /sdcard/works/
hoge.sh: 1 file pushed. 0.0 MB/s (20 bytes in 0.025s)
```
確認

```
$ adb shell
E5823:/ $ cd sdcard/works/
E5823:/sdcard/works $ ls
hello.sh hoge.sh
E5823:/sdcard/works $ sh hoge.sh
Hello Android!
```

####パーミッションについて
先のhoge.shをchmod 700で投げても意味がないよ

```
$ chmod 700 hoge.sh
$ adb push hoge.sh /sdcard/works/
$ adb shell
E5823:/ $ cd sdcard/works/

E5823:/sdcard/works $ ls -l
total 16
-rw-rw---- 1 root sdcard_rw 17 2019-07-26 23:56 hello.sh
-rw-rw---- 1 root sdcard_rw 20 2019-07-27 00:08 hoge.sh
```

##外部からshellを叩く
別に特別なことは何もなく、
adb shell　の後に実行したいコマンドを記述すればいい
例↓

```
$ adb shell sh /sdcard/works/hoge.sh
Hello Android!
```
##解像度、アス比変更
個人的にこれが一番やりたかった

###現解像度の確認

```
$ adb shell wm size
Physical size: 720x1280
```
![cap1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/3c976c0e-33e1-980d-bfb3-5772ef3f3ca2.png)

###解像度の変更
FullHDじゃないやつはいないよな？

adb wm size 求める解像度

```
$ adb shell wm size 1080x1920
```

確認

```
$ adb shell wm size
Physical size: 720x1280
Override size: 1080x1920
```
![res.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/7d643dd7-31bf-eced-c3ad-1b0012464473.png)

4Kじゃないやつはいないよな？

```
$ adb shell wm size 2160x3840
$ adb shell wm size
Physical size: 720x1280
Override size: 1440x2560
```
この端末ではWQHDが限界っぽい
![IMG_6585.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/5170c19e-03a7-9cd2-3b72-c7351b291371.jpeg)
ちょっとサワレナイ

なおこの解像度変更はゲーム等にも継続される
![comp1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/cbbb1ba4-25ea-4b76-7487-8e54d51eb0e9.png)

720x
![Screenshot_20190727-020016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/35699008-b986-2882-bd40-dcb360a92d45.png)

1440x
![Screenshot_20190727-013334.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/501d5f1b-cee3-f2d8-9b9d-85f5c30d7117.png)

比較
![comp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253609/01ee96b9-c8db-deef-3bc9-7b96f2e8716c.png)

とりあえずここまで
0727