Before Android 4.4.2., Locus Map was designed to work with SDcard as external storage space for all data related to the application - downloaded SQLite maps, point databases, SRTM data etc. After KitKat came on stage SD card reading/writing permissions were completely redefined:
Without these permissions any database is useless and that is why it is not possible to have your tracks, points, downloading directory of online maps, online maps cache and lots of other DTB-related files on the external SD card root directory.
For more information please see:
Locus Map installs itself in the internal memory of your device. During the installation a default directory structure “/Locus/..” is created in the internal memory too. This configuration, however, might be problematic for devices with little inner storage space. Nevertheless, there are methods how to use all or some of your data on an external drive and save your inner memory space:
The best solution you can get is to have Locus installed in the inner storage and some of your data placed in the external SD card:
All maps you are downloading by Locus from online sources or from Locus Store are stored by default in /Locus/Maps/ directory in the inner storage of your device. This, unfortunately, can not be changed. Nevertheless, all downloaded maps can be transferred to your external SD card (with any mobile file manager, e.g. ES Explorer) and linked to Locus via the Add external map command. The same procedure can be applied to all other raster maps obtained from other sources out of Locus.
LoMaps or other vector maps are stored by default in /Locus/mapsVector/ directory. You can use any directory on the external SD card for downloading and storing vector maps but you have to redefine the path to it in Locus settings:
This method works on Android 5.0 and higher only. If you use Android 4.4.x, follow the same instructions as for raster maps!
These data have their folders in the internal storage basic structure /Locus/backup/, resp. /Locus/data/srtm/. You can change their location to the external SD card the same way as with vector maps and redefine their directories in Locus settings > Miscellaneous > Default directories > Set 'backup' directory (or Set 'data/srtm/' directory)
Do not name your new folder on external SD card “Locus” - the operation system would be confused which directory is Locus default root which may result in Locus malfunction.
Every app on Android has its own special folder on the external SD card which is writable only for this app and as such can be used as the only storage space for the app. However, we do NOT recommend it, because:
Anyway, if you decide to use this option, follow these steps:
A few tips from Locus users how to tackle full access to external SD card on rooted devices. None of these methods are fully tested and may not work on all devices or, in case of inexperienced manipulation, can cause damage to your data or mobile device.
Another option for rooted devices is to format your SD card in FAT32 system in your PC. That eliminates the file system rights. If you use a SD card larger than 64 GB you need a tool like H2format for Windows to format the SD card with FAT32. Be aware that this does not support files larger than 4 GB.
Install only with “TWRP” App over the Menu “Install“. You must open the menu „Install TWRP“ und select your device and the „Recovery Version to install“ and download it. Then download and install „twrp-3.0.2-2.klte.img“. Boot the Android Device with the TWRP Recovery-Mod. Now you have Write Access for all apps on your extSD Card image.
It works fine with Samsung Galaxy S5 SM-G900F (TouchWiz) with Stock ROM (without Provider Branding) Android 6.0.1 (Marshmallow, API 23)
This app has an option to grant full access to the external SD, just like in prior to 4.4.2. Download and other instructions >>>
If you cannot install Xposed because it is not supported by your Android version there is another way to make your external SD read-write (root is required too!).
You have to modify 2 jar files on the /system partition. This can be done with a patch apk. For details read this xda-thread >>