Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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:

  1. Share the file on the Nexus 7 via the WiFi Shoot intent
  2. Start the Receive WiFi Shoot app on the Galaxy S2
  3. Invite the Nexus 7 from the Galaxy S2 (never the other way around!)
  4. Accept the invitation on the Nexus 7
  5. 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?

share|improve this question
add comment

5 Answers

I'm Budius, the developer of the WiFi Shoot! and I must say that J4velin's explanation is really spot on and pretty sad.

I started developing it just because I saw this cool technology and no one was using it but it only proved to be a big headache.

Even during development (I was using a Transformer TF300 and a Galaxy Nexus) it took me much more time than it should had and I had lots and lots of problems simply because the technology is broken on the driver level. Example of that is that Asus removed support for WiFi Direct on their Jelly-Bean built of the transformer (and that was reason for one of my 1-star rating, it stopped work on the user transformer)

If my app was completely free I probably was going to the same approach of J4velin and simply pull the plug on it, but now I feel I can't just cancel it for the users that paid for it.

I started checking some options to allow it to operate over normal WiFi too and only use WiFi-Direct if the user specifically request for it, but it's a personal project and I simply don't have free time now.

Really hope the manufacturers get their act together, but I wouldn't put my hopes up. Anyone who always uses bluetooth everyday (a technology that was originally developed in 1994) know that sometimes you have to reboot your mobile just to have it connect to a headset.

share|improve this answer
    
Thank you very much for the background info. You're right, it's sad indeed :-/ –  abstrask Apr 28 '13 at 2:28
add comment
up vote 2 down vote accepted

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...

Required Permissions

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

Speed Test Setup

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

Test Results

All stats, numbers and other facts are as of March 30th 2013.

Apps ordered by measured throughput, fastest on top.

Andreas Liebig's FTPServer

  • 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

Boby Ertanto's My FTP Server

  • 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

The Olive Tree's Ftp Server

  • 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

Berserker's FTPDroid

  • 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

Conclusion

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!

share|improve this answer
add comment

I released an app last week that I hope will solve your problems. WiFi Direct Friends https://play.google.com/store/apps/details?id=com.cobaltstar.wififriends

Most significantly, it can transfer files in both directions once the two devices are connected, which I think seems to be your main big issue. So even though you may have to guess which device to press connect on (blame the device manufacturers), you'll know that once they're connected you can send and receive no problem. Make sure you aren't connected to any other WiFi networks, or else things will get slow and unreliable.

I also added auto restart of the WiFi when there are problems or hangups in the initial connection process, so hopefully there won't be much guesswork or troubleshooting.

You've hit the nail on the head with regards to finding problems about how WiFi Direct is implemented across these devices. We're dealing with the most trivial use case of the technology here and the internet is full of tales of woe. Direct just does not seem ready for prime time in any big feature that needs to be depended on.

share|improve this answer
    
Thanks for your suggestion. Will give it a try. "Direct just does not seem ready for prime time in any big feature that needs to be depended on" - Amen! –  abstrask Apr 11 '13 at 14:15
add comment

I use an app called HitcherNet-BETA to move files across Wifi Direct between devices. it is fast and stable, great for pushing video files and other big files. in jelly bean the permissions issues of other versions are solved so two way transfer is possible. i am working with these guys to build wifi direct into a game app i am building.
https://play.google.com/store/apps/details?id=com.kharybdis.hitchernet

share|improve this answer
add comment

Have you tried Superbeam? Should work between Android devices, won't work with PC though.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.