| Crates.io | android-transfer-program |
| lib.rs | android-transfer-program |
| version | 0.1.2 |
| created_at | 2025-08-26 03:28:45.429624+00 |
| updated_at | 2025-08-26 03:44:53.152825+00 |
| description | A small CLI application to transfer files to and from Android devices because Android File Transfer sucks now (or at least last time I checked) |
| homepage | |
| repository | https://github.com/aniketgargya/atp |
| max_upload_size | |
| id | 1810467 |
| size | 15,086 |
A small CLI application written in Rust to transfer files to and from Android devices because Android File Transfer sucks now (or at least last time I checked). At this point1, it's probably easier to maintain this project than to try to get Android File Transfer to work.
Currently, the program serves as a thin wrapper around the adb push and pull commands, and has a more sophisticated pull command that filters out files that were not modified after a supplied date2.
The following commands are available, and their respective use cases should be self explanatory:
push_files <SOURCE_PATH> <DESTINATION_PATH> <DEVICE_NAME>pull_files <SOURCE_PATH> <DESTINATION_PATH> <DEVICE_NAME>pull_files_after_mod_date <SOURCE_PATH> <DESTINATION_PATH> <MOD_DATE> <DEVICE_NAME>The MOD_DATE argument should be formatted as YYYY-MM-DD. It's also possible to supply a more precise time, but doing so is left as an exercise to the reader3.
The DEVICE_NAME argument should be the id of the target android device, which can be found by running adb devices.
The --verbose flag can be added to any command to view all the adb output — try this to diagnose any program failures.
$PATH variable.haha, get it? ↩
This was the original motivation behind this project, as the only way to do this was a long and ugly command that involved pipes and moderate bash scripting skills. ↩
See newerXY's t in the find man pages ↩