Android で Wi-Fi 経由の adb を有効にして backup

Android 端末側でUSB デバッグを有効にしてUSB接続する．
デバイスが認識されているか確認．

$ adb devices
List of devices attached
PM1LHMA861102833 device

no permissions と言われた場合

$ adb devices
List of devices attached
PM1LHMA861102833 no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

は以下のようにして udev のルルーを追加する．VID/PID(以下の例では2e18, c032)部分はdmesgやlsusbで確認して自分の端末のIDに書き換える．

$ echo '# Essential PH-1
> SUBSYSTEM=="usb", ATTR{idVendor}=="2e17", ATTR{idProduct}=="c032", MODE="0666", GROUP="adbandy"' | sudo tee /etc/udev/rules.d/51-android.rules
# Essential PH-1
SUBSYSTEM=="usb", ATTR{idVendor}=="2e17", ATTR{idProduct}=="c032", MODE="0666", GROUP="adbandy"

その後USB を接続し直して確認し直す．

HostPC の adb コマンドで tcpip コマンドで接続できるようにして，connect コマンドで Android 端末の ip を指定して接続します．
5555 はポート番号で 5555 が規定値．既定値から変更した場合は，connect コマンドの ip の後ろにポート番号の指定が必要になります．

$ adb tcpip 5555
$ adb connect 192.168.1.200
connected to 192.168.1.200:5555

この状態でusb 接続を解除して devides コマンドに居ます :)
後は普通に使えます．

$ adb devices
List of devices attached
192.168.1.200:5555 device
$ adb logcat|head -1
--------- beginning of crash
^C

そして本命のバックアップ．

$ time adb backup -f ./PH-1.ab -all
Now unlock your device and confirm the backup operation...

real 26m2.104s
user 0m0.171s
sys 0m5.725s

用事が終わったら切断しておいたほうが安心ですね．

$ adb disconnect 192.168.1.200
disconnected 192.168.1.200
$ adb devices
List of devices attached

環境(Android)

mata:/ $ getprop ro.bootimage.build.fingerprint
essential/mata/mata:9/PQ1A.190105.058/496:user/release-keys
mata:/ $ getprop ro.build.version.security_patch
2019-05-05
mata:/ $ getprop ro.product.cpu.abilist
arm64-v8a,armeabi-v7a,armeabi

環境(HostPC)

$ dpkg-query -W adb
adb 1:8.1.0+r23-5
$ lsb_release -dr
Description: Debian GNU/Linux 10 (buster)
Release: 10
$ uname -m
x86_64