メモ@inudaisho

君見ずや出版 / 興味次第の調べ物置き場

Android 端末と PC でのファイル共有方法

 Boox Max2 を使いだすとPCとのやりとりを頻繁にするようになる。たとえばPDFとして出力したり、配布されてる論文PDFを落として見ようとしたり。いちいち繋げるのが面倒くさくなって、有線でつなげる以外の方法を模索しだしたのだが、ようやくその解のようなものができたのでシェアする。気にいったのでAndroid 端末とPCのやりとりはそれで一本化したくらいだ。

 無線だと Bluetooth があるが Bluetooth は遅い。キーボードとの接続にはよさそうだが、PDFのようなファイル移動には向いてない。クラウド経由はいい人にはいいだろうが、Boox Max2 には 普段使っているのと別のgoogleアカウントでログインしてくらいなので、クラウドのID・パスワードとか開示したくない。ということだったが、ちょっと前までつかってたファイルマネージャに共有する機能があったのでやってみたところ、便利だった。一時的にFTPサーバをたててファイル移動する形。しかしこれ、匿名アクセスを許可するものだったので、そこがいやでそれをつかうのはやめ、外でも使えるよう FTPS か SFTP に対応したサーバアプリがないか探したところ、これにたどりついた。

f:id:inudaisho:20180217172233j:plain

play.google.com

 名前こそ Primitive だが、その実 SFTP にも対応したパワフルなFTPサーバーアプリだ。しかもこれオープンソースだ。

github.com

 Android 端末の方で SFTP だけ動かして、Wifi経由でPCの方から ssh なり WinSCP なりでアクセスする。Android端末の方でサーバを立てるのだからクラウドをつかったときのようにクラウドのIDパスワードを渡さないといけないこともない。他にもFTPサーバアプリはあったのだが変な権限を要求したり挙動が不審だったりしたので捨てた。primitive ftpd だとたとえば rsync でフォルダごと同期することなんかもできる。windows10 の USB 経由で Android 端末を接続するとき mtp ドライバをいちいち認識させたりしないといけないし、線の場所もとるしそのうち接触不良になったりするが、無線ならそんな問題もない。

 いちばんいいのは direct Wifi で PC と Android 端末だけのネットワークをつくってファイルのやりとりができるといいのだがなかなかそういうのはない。Androidデフォルトのテザリングや Windows10 の mobile hotspot が実はそれに近いのだが、インターネット共有のための機能なのでインターネットに繋がっていないときは使えなかったりする。なかなか思うようにはいかないものだ。