2011年08月08日

Android端末同士、Android⇔Windows PCでファイル転送

Android端末同士でファイルを転送する方法は色々ある。
中でもwebサービスを経由する方法は、手軽に利用でき一般的にも普及している。
しかし、この方法はwebサービスを経由するため遅い。
そのため手元の端末での転送にこれを使うのは馬鹿馬鹿しい。

そこで、閉じたLAN内で端末同士で通信方法を調べた。

やりたかったことは、
A.Windows PCからAndroid端末内のファイルを読み書きする
B.Android端末1からAndroid端末2のファイルを読み書きする
C.Android端末からWindows PCのファイルを読み書きする

想定する構成は下記の通り

アクセスポイント
 |
 |−Win PC
 |
 |−Android1
 |
 |−Android2

※Bの場合は下記環境も想定
Android1(wi-fi hotspot(テザリング))
 |
 |−Android2

調査した結果、いずれも実現できた。
やり方としてはA,Bは通信したいAndroid端末をサーバーにして、別の端末からアクセスする。
CはWindowsのファイル共有の仕組み(Samba)にAndroid端末からアクセスする。

方法を以下に記す
■A.Windows PCからAndroid端末内のファイルを読み書きする
Android端末をFTPサーバーにして、WindowsからFTPクライアントを利用してアクセスする
FTPサーバー化するアプリはSwiFTPを使う。ルート化は必要ない。
https://market.android.com/details?id=org.swiftp&rdid=org.swiftp&rdot=1&pli=1

使い方は簡単、ユーザー名とパスワードを登録してstartボタンを押すだけ。
あとは、そこに表示される[Wifi URL]に向かってWindowsからアクセスすれば良い。
ポートがデフォルトだと2121なのでそこだけ注意。

で、Windowsからアクセスしたんだが、クライアントにも相性があった。

1.WinSCP・・・認証は通り、ルートディレクトリのファイル一覧は覧れるが、
別のディレクトリに移動しようとすると「Can't CWD to invalid directory」というエラーに遭遇する。
調べてみたものの、解決策は見当たらず断念。

2.FFFTP・・・デフォルト設定ではfile not foundと怒られる。
 「ホストの設定→高度→フルパスでファイルをアクセスしない」をチェックすることで回避出来た。

3.Windows標準・・・エクスプローラーを開きアドレスバーにftp://192.168.1.2:2121/ (実際にはSwiFTPで表示されるWiFi URL)と入力するとエクスプローラーでftpアクセスが出来る。
 こちらは特に問題さそう。

■B.Android端末1からAndroid端末2のファイルを読み書きする
やり方はAと同様。SwiFTPを使ってAndroid端末2をFTPサーバー化する。

あとはクライアントからAと同様にアクセスすれば良い。
こちらも相性がある模様。試したのは下記。

AndFTP ○
ES ファイルエクスプローラー(FTP) ○
ASTRO FILE MANAGER ×

※テザリング環境の場合
Wi-Fi HotspotをONにした状態でSwiFTPを動かすとWifi URL がunknownとなるが、
クライアント側からは、テザリングしている端末のIPに向かって同様にアクセスすれば普通に繋がる。
端末のIPはテザリングアプリやbusyboxのifconfig等で確認可能

■C.Android端末からWindows PCのファイルを読み書きする
この場合、FTPよりもSambaの方が手軽。もともと動いているので。
まずは、Windowsで普通にファイル共有が出来るようにしておく。

で、あとはそこに対してSMBクライアントからアクセスするだけ。

AndSMB ○
ESファイルエクスプローラー (LAN) ○

■note
なお、お気づきの方もいるかもしれないが、A,BについてはAndroid端末をSMBサーバーにすることでも実現可能である。
FileSharingというアプリでこれが出来る。
http://forum.xda-developers.com/showpost.php?p=8239139&postcount=128

ただし、こちらはルート化が必要なうえ、当方の環境ではAndroidのSMBクライアントからアクセス出来なかった。
(合っているにもかかわらずユーザー名とパスワードを延々と聞かれる)
posted by ccice at 13:42| Comment(0) | android
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: