androidスマホの中からたくさんのデータをMacに転送したい。 ちょっとした量ならば、android file transferで十分なんだけど、長時間繋ぎっぱなしにしてたら、何らかの原因で途中で失敗したりしていた。 で、リカバリが面倒なので、ssh経由でrsyncを使いたいと思ったのでやり方を調べた。

  1. adbをインストールする
    1. android studioをインストール
    2. adbの場所を調べる
      1. Preferences→Android SDK→Android SDK Locationに書いてある
      2. /Users/hotoku/Library/Android/sdk/adb だった
  2. androidでUSBデバッグを有効にする
    1. 設定の中から「ビルド番号」を探して、何回も連続でタップする
    2. 開発者向けオプションからUSBデバッグを有効化する
  3. デバイスの接続を調べる
    1. adb devices: list of devices attacedの下に何か表示されてればOK
  4. androidでsshサーバーを立てる
    1. SimpleSSHDをインストール→起動
    2. 2222ポートでsshdが待ち受ける
  5. ポートフォワードを設定する
    1. adb forward tcp:10022 tcp:2222: Macの10022が、androidの2222につながるようになる
  6. ファイルを転送する
    1. rsync -av -e 'ssh -p 10022' 127.0.0.1:/転送元のパス /転送先のパス
    2. これを実行すると、パスワードを聞かれる。スマホのSimpleSSHDの画面にパスワードが表示されているので、入力する