git-annex is available for Android inside Termux or Nix-On-Droid. This includes the git-annex assistant, for easy syncing between your Android and other devices. You do not need to root your Android to use git-annex.
(Alternatively, rather than installing git-annex on your Android device,
git-annex can run on your computer and use adb
to pull and push changes
to the Android device. See android sync with adb for instructions
on using git-annex that way.)
Installation (Termux)
First, install Termux. This is an Android app that can run some Linux software in a terminal, including git-annex.
git-annex is not currently part of the Termux distribution, but it's easy to install it. Paste these commands into Termux:
pkg install wget
wget https://git-annex.branchable.com/install/Android/git-annex-install
source git-annex-install
Installation (Nix-On-Droid)
Installing git-annex using Nix-On-Droid is recommended for more advanced users who want to use git-annex at the command line. The git-annex webapp does not currently work in Nix-On-Droid.
To enter a shell with git-annex available to use,
run inside Nix-On-Droid: nix-shell -p git git-annex
To avoid needing to do that every time you start Nix-On-Droid,
you can add git and git-annex to your environment.packages
in
~/.config/nixpkgs/nix-on-droid.nix
and then run
nix-on-droid switch
Starting git-annex assistant
Just run "git-annex webapp" inside Termux. A browser window will open with the git-annex interface.
Closing and reopening the webapp
The webapp does not need to be left open after you've set up your repository. As long as Termux (or Nix-On-Droid) is left open, git-annex will remain running and sync your files.
Starting at power on
If you install the Termux:Boot app, git-annex will be automatically started when your Android device powers on. It will run in the background in whatever repositories you have set up in the webapp.
Using the command line
If you prefer to use git-annex
at the command line, you can do so inside
Termux or Nix-On-Droid. Here we'll make a repository for photos:
cd ~/storage/dcim
git init
git-annex init
You can go on to set up a ssh remote pointing to a server, and sync your files to and from it.
And so on. Most ways you would use git-annex on a Linux system work fairly well in the Termux environment.
Upgrading (Termux)
To upgrade to a new git-annex release, just run git-annex-install
again.
starting
git annex webapp
fails for me with (Android 12, CalyxOS):The webapp still runs and I can connect the browser by copypaste the link.
instead trying to open the browser natively i have a bit more success with Termux:API by
This seems to be the right thing to do, unfortunally for some unknown reason it fails sometimes too, but I think thats an issue within termux which may become fixed eventually.
It's not necessary to download
wget
in Termux since it already comes withcurl
.However the installation guide instructs to install
wget
in order to fetch the installation scriptgit-annex-install
from the internet. Also the script itself relies onwget
and installs it as a dependency even though the preinstalledcurl
could be used just as well.I think we should use
curl
to reduce the amount of dependencies which have to be additionally installed.Thank you for reporting that, I have fixed the url.
I'd again like to ask that, if you have any kind of problem or bug with this Android build of git-annex, you open a bug report rather than posting a problem here.
If you are experiencing a problem using git-annex on Android, please examine the list of bugs and add a new, detailed bug report if no-one has reported the problem. If you are not sure if you have a bug, or need help in filing a good bug report, ask for help in the forum.
I have removeda lot of old comments about problems that may be fixed or not (hard to tell without a bug report!) This page cannot scale to handle every bug report that someone wants to paste into it.
This seems to download a html.