User Tools

Site Tools


manual:faq:use_sdcard_on_kitkat

This is an old revision of the document!


Locus data on external SD card

FIXME IN RECONSTRUCTION FIXME


Important!

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:

  1. random reading of any place in a file stored on SD card was disabled
  2. random writing at any place in a file stored on SD card was disabled

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, is not suitable 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:

You can use an external SD card for following data:

  • raster maps - map tiles downloaded by Locus or from external sources
  • vector maps - e.g. LoMaps or OpenAndroMaps
  • backup files - created by the Backup manager
  • SRTM data - elevation data from online or offline sources

Raster maps

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.

Vector maps

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:

  • create a new folder for your vector maps on the external SD card, e.g. mapsVectorExt
  • move contents (if there are any) of /Locus/mapsVector/ folder to the new folder
  • define new path to your vector maps in Locus settings > Miscellaneous > Default directories > Set 'mapsVector' directory
  • restart Locus

Backup files and SRTM data

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)

Locus and all its data on SD card

Every app on Android has its own special folder on SDcard which is writable only for this app. So it seems like the best solution how to place map on SD card on KitKat. But Locus (in default) does not use it because there are two main weaknesses:

  • All content of this folder will be automatically deleted when you uninstall Locus. So all your maps will be deleted when you decide to uninstall Locus app
  • Locus Free and Locus Pro can not share data because every app has separate folder

Anyway if you decide to use it follow these steps:

  • Open Locus > Menu > Settings >Miscellaneous > Set Root directory
  • Select path which contains “menion.android.locus” or “menion.android.locus.pro”

  • Connect SD card to the PC and move whole “Locus” folder to the directory defined in previous step
  • Start Locus

C. Locus application in internal memory and maps on external SD card

Locus offline raster maps can be stored (not downloaded into) in external directory on SD card. Please follow steps bellow:

  • Connect card to the PC and create arbitrary folder on the SDcard for your maps e.q. MyLocusExternMaps
  • Move maps from folder Locus/maps to the folder MyLocusExternMaps
  • Move folder Locus from SDcard to the internal memory (without map files)
  • Start Locus (choose internal folder)
  • Open Menu > Maps > Tap on blue “PLUS” button in OFfline tab > select External maps > navigate to MyLocusExternMap folder and tap the “checkmark” in top panel

The result is that the Locus working directory will be placed on internal memory and all maps will be located in external folder on SDcard. This issue is also described in article: Saving offline maps on SD-card under Android 4.4 (KitKat) >>

D. Use rooted devices

  • In case that your device is rooted you can fix it by editing the system configuration
  • Install application SDFix and perform the system changes
  • After that simply start Locus

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.

Android 5.0+

Android 5.0 partially loosens strict permissions of applications writing on SD cards stated in Android 4.4.2. It is possible to move vector maps, SRTM data and backups on SD card. All other Locus folders must remain in the internal memory, it is not possible to run them on SD card without issues.

Works since Locus Map 3.11.0

If you have a device with SD card and want to save some storage space, follow these instructions:

  • go to Menu > Settings > Miscellaneous > Default directories
  • set new location of Locus/mapsVector, Locus/backup and Locus/data/srtm directories on SD card
  • move contents of the folders to the new location and delete original folders
  • restart Locus Map

If you had set these directories earlier in 3.10.x versions or older, it is necessary to perform the setting once again as the new Locus Map needs a new permission to write on SD card from the operation system. Otherwise the SD directories will not be activated!

Android 6

Beginning with Android 6 not even rooted devices can acquire the full access to SD card. All other options are the same as in Android 5+.

Advanced

This method should be tried only if you are an experienced Android user. It is not tested on ALL devices so it might not work for everyone.

Quick instructions

  • Install ExtSD Fix 1.9 latest stable Version (v2.9b - 2016-06-09) by rufus.wilson
  • Open “TWRP” app and go to the menu “Install” and select the “ExtSD_Fix_rw-signed-v1.9b.zip” Zip-File.

Important for TWRP

Only install 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)

More information in this XDA forum >>

manual/faq/use_sdcard_on_kitkat.1485191032.txt.gz · Last modified: 2017/01/23 18:03 by mstupka