This special remote stores files on an Android device.

The adb program is used to access the Android device, which allows connecting to it in various ways like a USB cable or wifi.


To add a remote for the /sdcard/DCIM directory on the Android device, allowing to import and export photos:

git annex initremote android type=adb androiddirectory=/sdcard/DCIM encryption=none exporttree=yes importtree=yes
git annex export master --to android


A number of parameters can be passed to git annex initremote to configure the adb remote.

  • androiddirectory - Set to the location on the Android device where files for the special remote are stored.

  • androidserial - Normally this is not needed, but if multiple Android devices are accessible, you'll be prompted to use it to specify which one to use.

  • exporttree - Set to "yes" to make this special remote usable by git-annex-export. It will not be usable as a general-purpose special remote. Since this makes the exported files easily browsable on the Android device, you will almost always want to enable this.

  • importtree - Set to "yes" to make this special remote usable by git-annex-import. When set in combination with exporttree, this lets files be imported from it, and changes exported back to it.

  • oldandroid - Set to "yes" if your Android device is too old to support find -printf. Enabling this will make importing slower. If you see an error like "bad arg '-printf'", you can enable this option, by running eg: git-annex enableremote android oldandroid=yes

  • ignorefinderror - Set to "yes" to ignore errors when running "adb find" on the Android device. This can be useful eg, if some subdirectories are not readable, to let it import the other things that are readable.

  • encryption - One of "none", "hybrid", "shared", or "pubkey". See encryption.

  • keyid - Specifies the gpg key to use for encryption.

  • chunk - Enables chunking when storing large files.