Android quickstart guide

Choosing and installing a map tool

BRouter just calculates tracks as GPX or GeoJSON files. It does not display maps or give any navigation instuctions. Therefore you need a map-tool in order for BRouter to be useful.

Several map tools support routing with BRouter:

  • OsmAnd: GPLv3, Free (limited features) and paid version available
  • Locus Map: Proprietary, Free (ads) and paid version available
  • Oruxmaps: Proprietary, Free (previous version) and paid version available

Install any of those map tools using your favorite app store.

Installing BRouter

You can install BRouter either from F-Droid, Google Play Store or from the APK contained in the releases available in the Revision History.

Choosing a base directory

When first starting BRouter (or after deleting/moving the base directory), it asks for a directory and gives you proposals plus the option to enter any other base directory.

Most phones have an internal and an external storage, where the external storage is a SD card which can be removed from the device.

Navigation needs big data files that usually should go on an external storage because it provides larger capacity. You should accept the external storage, which is usually the one with the most space available.

Since Android 11 apps can only write to their app-specific storage so BRouter can only use <...>/Android/media/btools.routingapp/ as base directory. The app-specific storage can be located on internal or external storage.

Download routing segments

BRouter requires routing data which is independent of the displayed map of a map tool. Routing segments (rd5) can be downloaded using the BRouter Download Manager.

Routing via service interface

BRouter is best used via it’s service interface. It provides a service which can be used by map tools without starting the BRouter app.

To use BRouter in your map tool you have to configure the map tool to use BRouter as navigation service.

The service interface allows specifing either a routing-mode (used by OsmAnd and OruxMaps) or a routing-profile (used by LocusMap). When using a routing-mode BRouter selects the routing-profile according to a mapping.

By default BRouter uses the following mapping:

routing-mode routing-profile
motorcar_fast car-test
motorcar_short moped
bicycle_fast fastbike
bicycle_short trekking
foot_fast shortest
foot_short shortest

This mapping, however, can be changed any time by starting the BRouter and using the Server Mode.

If your routing request fails due to timeout you can open BRouter and select Server Mode and recalculate the route using <repeat:…>. BRouter caches the routing result and further requests using the same destination using the service interface will be successful.