macOS使っているのに、iPhoneよりもAndroidが好きというエンジニアは多いと思います。AndroidならTermuxやいろいろ使えます。
それで、AndroidとmacOSで最も一番簡単にファイル共有する方法が分かったのでメモしておきます。それは、FTPやSSHでファイルのやりとりをするんです。なーんだという感じですが、広告がいっぱいのファイル共有アプリなんか使うより確実で、SSH使えば安全です。
Ftp Serverを使う
簡単な広告が出ますが、Android上でFTPサーバーを起動する一番簡単な方法です。
(Android側) https://play.google.com/store/apps/details?id=com.theolivetree.ftpserver&hl=ja
Android上でこれでオンにして、macOSのFilezilla ClientなどのFTPクライアントでアクセスします。開発者であれば最初からインストールされていることでしょう。
なお、同作者がSSH Serverも公開しているのですが、手元のAndroidでは接続できませんでした。
TermuxでSSH/SFTPを使う
少し前に、AndroidのターミナルエミュレーターTermuxについて書きました。Termuxを設定する際、MacからSSHにも接続するように設定しました。sshdをインストールして、Mac側で公開鍵を作り、Termuxに登録します。すると、上記で紹介したFilezillaを利用して、Androidにファイルが転送できます。
改めて、手順を整理すると以下のようになります。
- (1) ストアでTermuxをインストール
- (2) Termuxを起動して、
termux-setup-storage
を実行 - (3) 必要なアプリをインストール
pkg update && pkg install git vim wget tmux
- (4) sshdをインストール
pkg install sshd
- (5) Macでターミナルを起動して公開鍵を作る
ssh-keygen -t rsa
- (6) Macのid_rsa.pubの内容をLINEやメールでAndroidに送り、
~/.ssh/authorized_keys
に追記する(なければ作る)。
以上で、設定が完了です。以下の手順で、Filezillaを使ってファイルの転送ができます。
- (1) sshdを起動
sshd
- (2) TermuxでAndroidのIPアドレスを調べる
ifconfig | grep 192
- (3) Mac側でsshdに接続してみる
ssh hoge@192.168.xxx.xxx -p8022
(xxxには上記のIPアドレス) - (4) 正しく接続できたなら設定完了。FilezillaでAndroidに接続すると、安全にファイルの送受信が可能。
二回目以降は設定が要らないので、そこそこ気軽に使えます。
その他の方法
コメント欄で教えていただいた方法ですが、Android Studioの[Device File Manager](開発者を想定されているのであれば、Android StudioのDevice File Explorerはどうでしょ?
https://developer.android.com/studio/debug/device-file-explorer?hl=ja)を使ったファイル送受信も良いですね!
他にも、開発者に向けた手軽な方法があれば、コメント欄で教えてください!
まとめ
手軽なのは、Ftp Serverを使ってファイルを転送することですが、平文でファイルを転送しないといけないので、ちょっと心配です。そこで、Termuxでsshdを起動して、SFTPでファイル転送すれば安心して転送できます。ただし、Termuxでコマンドを打つのはそこそこ面倒なので、使い分けると良いでしょう。