FAQ

This page contains solution for commonly asked questions about use of aria2 for Android.

Q: How do I download torrents?

A: Start aria2, then use frontend to download things

aria2 can be started from the “aria2” section — press huge shiny toggle at the top. After starting aria2 you have to open aria2 frontend. There are generally two choices:

Using the builtin web frontend is easy and fairly self-explanatory (unless you have “Use external browser” checked, in which case you have to set security token in frontend options before all else).

To use a third-party frontend, find and install a remote controller app. Personally I recommand Transdroid, but any aria2 remote-controller app will do. In order connect aria2 with remote control app, go to later’s settings and configure a connection with “localhost” as server address and “123” as secret token (you can change secret token in “Frontend” section of aria2).

Q: Where is config file? Where is download directory? Where is everything?

A: The config file is in download directory. The directory is configurable in settings.

Open “aria2” section and look below the huge, shiny “Start aria2” toggle. You will see words “Download directory”. Click those. Ideally, aria2 for Android should be able to find itself some kind of directory, so that setting will likely have some value. This location will contain “aria2.txt” (config file), aria2 downloads, download metadata files, session files and DHT peer database.

If the download directory is set and accessible, there should be a summary with amount of free space on associated partition. Make sure, that you have enough free space for your torrents!

Q: How do I set download directory to external SD card? It keeps saying “Invalid directory”!

A: If you can use adoptable storage, do so. Otherwise I am sorry.

External SD cards in newer Android versions are managed by Storage Access Framework. Only Java apps can use it, and only to limited extent. Ordinary Linux apps, such as aria2, can not access SAF.

If your phone has Android 6 or newer, you can “adopt” external SD card. This will move your stuff there and make directories on it available to aria2. If you can not adopt SD storage, — sorry, you can subscribe to this Github issue to get notified if some solution comes up.

Q: How do I access aria2 from another computer?

A: Enable remote access in settings

  1. Make sure, that you checked “Allow external access” in “aria2” section (this has the same effect as adding “rpc-listen-all=true” to aria2 config file).
  2. Make sure, that you don’t have firewalls (AFWall etc.) preventing incoming connections.

Q: The app does not work! aria2 does not start! Torrents do not download!

A: This is not strictly speaking a question, so here goes “not an answer”

There are two ways to debug aria2 for Android:

  1. Check “Show aria2 output” checkbox in “aria2” section.
  2. Install Android Terminal Emulator and use it to view aria2 console output

Those ways are mutually exclusive (later prevents former from working).

Checking “Show aria2 output” checkbox will make aria2 for Android spurt a bit of aria2 output after it stops. Only last few lines will be shown, and the output may contain some irrelevant information from Android system. This can sometimes help to debug situations, when aria2 does not start at all (or starts, but almost immediately stops).

To use Terminal Emulator integration, go to “Frontend” section. Make sure, that Terminal Emulator is installed and “ATE integration” checkbox is checked. Once you are done with resolving your issues, you may uninstall the Terminal Emulator and/or disable the integration. When the integration is enabled, starting aria2 will automatically start Terminal Emulator with separate “aria2” tab. This tab will contain unmodified aria2 console output, which is usually enough to understand, why things do not work.

Q: I got aria2 running, but torrents still do not download!

A: Check, that those torrents are ok to begin with

  1. Does the torrent have any seeds?
  2. Is that torrent tracker blocked by your provider/conuntry/county?
  3. is aria2 (or other less-widely-used clients) banned on your tracker?

aria2 does fall back to different torrent trackers, if some of trackers in torrent file do not work. It is also loudly reporting any errors to standard output, so using Terminal Emulator integration should give you some leads.

Q: I got the torrent to download, but sometimes it still does not work!

A: Make sure, that yout device does not sleep instead of downloading

If your downloads go on longer then couple of seconds, you might have to check “Take a wakelock” checkbox in “aria2” section. This will keep your device from sleeping as long as aria2 is running (even if no torrents are active!)

Android devices with Android 6 and newer may enter “Doze” mode after period of user inactivity. Some of older devices without Android 6 may contain similar optimization under different names. When device is dozing off, it may enter a deep sleep. Even enabling wakelocks via “Take a wakelock” option might not be enough to prevent that sleep and keep torrents active.

Disable all “extreme power saving” and other magically sounding power saving options in device settings. Whitelist aria2 for Android for Doze Mode in app settings, if your device has such settings. Make sure, that your battery is not almost completely drained (some devices automatically enable strong energy saving modes, once the batter charge is low enough).

Q: I am still encountering issues

A: You are on your own (just kidding)

If you are willing to decipher some advanced mumbo-jumbo, you can try to use aria2 “–log” option. It will spurt out a lot more debugging output then usual, some of which might help you to identify the root of issue.

You can get support for aria2 for Android-related matters in the chat. If you are sure, that your issue is related to the Android port, feel free to file a report at the bug tracker. Finally, feel free to email me directly (using email address on the Google Play page). You should expect relatively quick reply in case of email or Gitter messages; Google Play reviews or comments on Github issues may sometimes lie for days to months before being seen and acted upon.

If your issues are not Android-specific, you can report them to upstream aria2 bugtracker (when doing so, keep in mind, that this project is neither affiliated with, nor supported by the aria2 upstream developer).

Q: What information can be useful for reporting aria2 bugs to upstream aria2 developer?

A: aria2 version, arguments, build configuration and environment details

The version of the binary, shipped with this port, can be seen by going to the “Apps” screen of Android System Settings app. The version of the app is combined from two parts: it’s own version and version of upstream code. Example: “0.12+u1.22.0” means, that aria2 for Android version “0.12” ships with aria2 binary version “1.22.0”. The later version is usually a bit behind upstream releases, to ensure that aria2 for Android users get a stable, well-tested product.

aria2 for Android internally launches aria2 binary with several arguments. Few of them are always present, others depend on settings, configured in UI. The full command line is printed to Android LogCat (look for online tutorials how to view it). The relevant source code is here.

aria2 for Android is compiled independantly from upstream aria2. In order to reduce the apk size, it may be stripped from some optional features (such as Metalink support). The list of enabled features can be viewed by using builtin web frontend (“Frontend” section -> “Open web frontend” -> “Settings” -> “Server Info”). Aside from that, there is no additional patching being done by this port.

The environment information includes things like kernel/OS version and type of filesystem, used for the aria2 downloads directory. This port stores all aria2 data (sessions, downloads, configuration file etc.) in the same directory with downloads (configurable in UI). The executable binary is stored in system-dependant location, that varies with Android version (and usually requires a rooted device to view/modify).