The ADB way
The contents of the physical/emulated SDCARD, or the entire file system for rooted devices, can be accessed via the Android Debug Bridge (ADB). See this for a quick guide to get started with adb.
Once adb is installed and properly configured, files and folders can be pulled and pushed to/from the device using the corresponding adb command (assuming you have a folder named
Books on your sdcard):
## push single file to android adb push myfile.pdf /sdcard/Books/ ## push entire folder to android ## NOTE: this will push recursively the *contents* of the ## MyBooksFolder to /sdcard/Books adb push MyBooksFolder /sdcard/Books ## pull file from android adb pull /sdcard/Books/myfile.pdf
There seems to be a GUI for ADB (for windows only): ADBGUIV3
ADB can also be used over wifi. Some rooted roms include the Wireless ADB toggle in the quick settings. For stock ROMs the same can be achieved via third-party wifi adb apps.
The FTP client/server way
This is my preferred way whenever I need to copy multiple files without having to deal with cables. This works for transferring between:
- android <-> desktop
- android <-> android
- android <-> non-android devices
The idea is to have an FTP server running on one end, and an FTP client on the other. Any combination is possible since both clients and servers are available for android and most desktop systems. There are plenty of android FTP servers to choose from, many of them free.
For the server part my preferred choices are File Expert (includes both FTP and HTTP servers, a Windows file share client, as well as FTP/SFTP clients, free), and Solid Explorer (includes FTP/HTTP servers, FTP/SFTP/Webdav and Windows file share clients, free 14 days trial).
For an FTP client I tend to use Total Commander with the FTP plugin.
Your desktop is already capable to work as an FTP client. For example, on Windows you can simply type
ftp://my.android.ip.address/ into the Windows Explorer address bar (the actualy IP address will be displayed in the FTP server app when you start it). Same holds true for OSX or Linux.
There is a free WiFi/WLAN Plugin for Total Commander which can be used to share files with other mobile devices or a desktop. The plugin supports direct connections via HTTP over WiFi between two Android devices, or between Android (Server) and any device or computer with a Web browser or WebDAV client.
File Expert also includes an HTTP server mode which allows exchanging files to any device that has a web browser.
A variation of the FTP theme might be SFTP which comes in handy if you already have an SSH server running on your desktop. For example, on OSX the built-in SSH server can be activated by enabling the checkbox under System Preferences > Sharing > File Sharing.
LAN plugin for Total Commander allows accessing Windows shared folders, which means you can use it with Windows, as well as OSX and Linux with the samba server running.
If you have Python installed on your desktop, then you can share files to your phone by starting a one-liner HTTP web server, i.e.:
# for Python 2.x python -m SimpleHTTPServer # for Python 3.x python -m http.server
Once the server is started, use any browser on your phone/tablet to browse and download the files. The URL you need to open in your browser will be the IP address of your desktop at the default port 8000 (which can be changed by adding a different port number at the end of the command). Once you have figured out your internal IP (e.g.
192.168.1.100) the URL will look like http://192.168.1.100:8000.
And finally, just for the sake of completeness, I should mention that cloud storage services like dropbox and mega make it easy to share files between any devices, and if you want the simplest possible solution, then you can just email a file to yourself, and open it on the device where you need it.