HTTPS needs the CA certificates
Android keeps its certificates in an unusual place. The aria2 Android README suggests piping them in: cat /etc/security/cacerts/* | aria2c --ca-certificate=/proc/self/fd/0 URL.
aria2 runs natively on Android, without root. The easiest way is Termux, a terminal app with its own package manager.
Install Termux, open it, and run:
pkg install aria2
Termux has 1.37.0. Install Termux from F-Droid or its GitHub releases page.
chmod 744 aria2c && ./aria2c -v
The aria2 release includes an Android build for 64-bit ARM. It needs extra options for DNS and HTTPS; see below.
aria2c --versionaria2 version 1.37.0Termux handles certificates, DNS and updates for you, so it is the right choice for almost everyone.
| Method | Version | Updates | Extra setup |
|---|---|---|---|
| Termux | 1.37.0 | pkg upgrade | None |
| Official binary | 1.37.0 | Download again by hand | DNS and CA options |
From a fresh Termux to a download saved in your phone's Downloads folder.
Get it from F-Droid or from the Termux GitHub releases. Open it once and wait for the first setup to finish.
pkg updates the package list and installs aria2.
pkg install aria2
Android asks for permission. Afterwards ~/storage/downloads points to your Downloads folder.
termux-setup-storage
Files saved there show up in your file manager and other apps.
aria2c -d ~/storage/downloads https://example.com/file.zip
Termux has its own home folder, so the usual path works: ~/.aria2/aria2.conf. Set dir to your Downloads folder there:
mkdir -p ~/.aria2echo "dir=/storage/emulated/0/Download" >> ~/.aria2/aria2.conf
Android stops apps it thinks are idle. Take a wake lock so long downloads keep going with the screen off, then start aria2 with RPC so an app can control it:
termux-wake-lockaria2c --enable-rpc --rpc-secret=YOUR_SECRET -D
Aria2App for Android, AriaNg in the phone's browser or our online WebUI can then connect to localhost:6800 with the same secret. termux-wake-unlock releases the lock.
pkg upgrade · pkg uninstall aria2Android keeps its certificates in an unusual place. The aria2 Android README suggests piping them in: cat /etc/security/cacerts/* | aria2c --ca-certificate=/proc/self/fd/0 URL.
Android has no /etc/resolv.conf, so the faster resolver is off. Turn it on with --async-dns and name the DNS servers with --async-dns-server.
Android has no /dev/stdout, so logging to the screen with -l- does not work.