I'd like to be able to easily transfer large files wirelessly, fast, between Android devices - preferably without requiring root.
As a secondary objetive, it wouldn't hurt if the same solution could be used, to transfer files between the Android devices and a Windows PC.
Specifically, I'm trying to exchange files between my Nexus 7 (Android 4.2.2) and Samsung Galaxy S2 (Android 4.0.4).
- Bluetooth is simply too slow, so that's out of the question
- Transfer via the Internet is also not an option, hence so is cloud-based solutions
- Only Nexus 7 supports NFC, so that's out too
- Fast File Transfer looked promising and very simple, but does not work on "Devices that don't have WiFi Tethering setting, such as the Nexus 7"
Wi-Fi direct (supported from Android 4.0 and up) seems to be a decent lowest common denominator between my two devices, however...
Galaxys S2's native Send via Wi-Fi Direct sees the Nexus, but seems to get stuck in the "Connecting..." most times. When there finally seems to be breakthrough, I get "Waiting..." and a spinning circle. Even if it worked, it would only allow me to send from the Galaxy S2 to the Nexus 7, as a similar option os not present on the Nexus 7.
J4velin's WiFi Direct is no longer available in the Play Store, with the following explanation:
WiFi Direct drivers are broken on many devices, which led to users leaving negative reviews for this app. As I don't see any sense in keeping a free app published when only getting 1-star-ratings (for an issue which only your device manufacturer can fix), the app is no longer available at the Play Store.
Nick Adams' WiFi Direct File Transfer seems flaky at best. Invations from Nexus 7 to Galaxy S2 are never received. Invitations from Galaxy S2 are mostly received, but even when accepting promptly, the peers doesn't always show as connected. When they finally do, usually after quite a long wait, I can select a file to send but it's never transferred - "Transfer failed" it says almost immediately in the notification bar.
budius inc's WiFi Shoot is working slightly better, but still very unreliable. I actually managed to (occasionally) send files both ways, but never when attempting connection from the Nexus 7. To send from the Nexus 7 to the Galaxy S2, I had to go through this akward manoeuvre:
- Share the file on the Nexus 7 via the WiFi Shoot intent
- Start the Receive WiFi Shoot app on the Galaxy S2
- Invite the Nexus 7 from the Galaxy S2 (never the other way around!)
- Accept the invitation on the Nexus 7
- Press the Shoot button on the Galaxy S2
Take the whole switching back and forth between devices, and garnish with random delays or failures in any step of the process...
Is there really no easy, reliable, fast way to transfer files directly between different Android devices?
Generally, my experience with Wi-Fi Direct is all but positive...
- A device often won't even see a device lying next to it
- Sometimes, it will see the other device, only to have it disappear from the list, before I have the chance to connect
- When I do have a chance, invations are not realiably received (from Galaxy S2 to Nexus 7 mostly reliable, but never worked the other way around)
- When invitations are received (and accepted), a partnership rarely manages to be setup ("invited" or "connecting")
- And even when that happens, some apps can't seem to transfer files through it...
*Sigh*
Maybe J4velin's explanation pretty much sums up the sad state of Wi-Fi Direct on Android, which otherwise seemed as the best solution to my quest?
Answer
Rather than sleeping, I spent a few more hours experimenting.
I found what works best for my needs is an FTP server app.
For casual transfers, when both devices are connected to the same network, I'll just transfer through my Access Point. With the limitations that implies.
If I'm not near an AP or just want full speed, I'll deal with the hassle of setting of the Wi-Fi direct partnership and then launch the FTP server. It usually takes 3-5 tries before the devices connect, but once they do, FTP works stable and fast.
Furthermore, this solution also satisfies my secondary goal, of being able to use the same method to transfer files between Android device and PC.
Now, there are a lot of FTP server apps out there. Most are ad-supported, most are rather big as well. To my surprise, there's also quite a performance difference between them.
I thought I'd might as well shared my experience with the four FTP server apps I tested...
None of the tested apps required ridiculous permissions. Just the following special permissions:
- FULL NETWORK ACCESS
- MODIFY OR DELETE THE CONTENTS OF YOUR USB STORAGE MODIFY OR DELETE THE CONTENTS OF YOUR SD CARD
- PREVENT TABLET FROM SLEEPING PREVENT PHONE FROM SLEEPING
In addition, Andreas Liebig's FTPServer also required:
- READ PHONE STATUS AND IDENTITY
The speed test wasn't exactly scientifically performed, but devices were in the exact same spots during tests.
- FTP server app running on Nexus 7
- FileZilla FTP client running on Windows 8 laptop
- Both connected to the same 802.11n network. Windows reported the link speed as 130 Mbps (I know this is not exact)
- I downloaded the same 103,4 MiB large file two times through each app
All stats, numbers and other facts are as of March 30th 2013.
Apps ordered by measured throughput, fastest on top.
- Price: Free
- Latest version: 2.4.0 (2013-03-26)
- Size: 78 kB
- Install base: 100.000 - 500.000
- Avg. rating: 4.6
- Android OS requirement: 1.1+
- Comments: Initial configuration required, not plug-and-play. Detailed server log on main screen when service is running. No anonymous access possible?
- Throughput: 103.4 MiB downloaded in 43 seconds @2.4 MiB/sec, 103.4 MiB downloaded in 47 seconds @2.2 MiB/sec
- Price: Free (ad supported, ad-free version available)
- Latest version: 2.1 (2013-02-28)
- Size: 1.2 MB
- Install base: 50.000-100.000
- Avg. rating: 4.1
- Android OS requirement: 2.2+
- Comments: Simple interface. Very basic settings.
- Throughput: 103.4 MiB downloaded in 48 seconds @2.2 MiB/sec, 103.4 MiB downloaded in 49 seconds @2.1 MiB/sec
- Price: Free (ad supported, ad-free version available)
- Latest version: 1.11 (2013-01-14)
- Size: 1.1 MB
- Install base: 100.000 - 500.000
- Avg. rating: 4.4
- Android OS requirement: 2.1+
- Comments: Based on Apache ftp server. Simple interface. Configurable port, home dir, username/password, service resillience, energy saving etc.
- Throughput: 103.4 MiB downloaded in 56 seconds @1.8 MiB/sec, 103.4 MiB downloaded in 56 seconds @1.8 MiB/sec
- Price: Free (ad supported, ad-free version available)
- Latest version: 1.3.1 (updated 2012-12-28)
- Size: 2.0 MB
- Install base: 50.000 - 100.000
- Avg. rating: 3.9
- Android OS requirement: 2.2+
- Comments: Based on Pure-FTPd. Simple interface. Configurable port, home dir, username/password, service resillience, energy saving etc.
- Troughput: 103,4 MiB downloaded in 135 seconds @0,8 MiB/sec, 103,4 MiB downloaded in 121 seconds @0,9 MiB/sec
Not only is Andreas Liebig's FTPServer the only completely free of the apps tested, it's incredibly light weight (78 kB!), can run on any Android phone you can find but also has the fastest throughput of the apps tested.
Once the initial configuration is done, the main window simply displays your standard FTP server log, whereas other applications pretty much displays nothing but a few buttons and maybe the IP address and port of the server.
Thank you, Andreas!
No comments:
Post a Comment