After upgrade on Android 4.4.2 Locus Map does not run correctly – crashes or does not run either.
Unfortunately, Android 4.4.2 has a new feature that prevents all installed applications from writing data on external SD card. Locus Map cannot correctly store and read your maps, points or tracks if they are stored on SD card. For this reason Locus Map is not able to start.
Who is involved
- Current Locus Map users are affected (issue does not affect new users)
- Only devices with SD card are influenced.
- The issue does not occur on devices with custom ROM
A. Move Locus Map to the internal storage
- Install arbitrary Android file manager – for example ES File Explorer
- Open it and go to your external SD card (often marked as sdcard1)
- Long tap on Locus folder and choose Copy
- Navigate to the internal memory (often marked as sdcard0) and Paste Locus folder
- Check that process was successful and you can see all Locus Map data on internal storage
- Pull out the external SDcard from phone and connect it to your notebook or desktop computer
- Remove (or rename for safety) Locus folder on the external SDcard. The goal is to have only one Locus folder that is located in internal storage.
B. Move Locus app and maps into a private folder on SDcard
Every app on Android has its own special folder on SDcard in which only this app can write. So it seems to be the best solution how to place maps on SDcard 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 Map. So all your maps will be deleted when you decide to uninstall Locus app.
- Locus Map Free and Locus Map Pro can not share data because every app has seperate folder app
Anyway, if you decide to use this method, follow this procedure:
- Open Locus > Menu > Settings >Miscellaneous >Set Root directory
- Select path which contains “menion.android.locus.xxxx”
- Confirm and close Locus Map
- Connect SD card to a PC and move whole “Locus” folder to the directory defined in previous step
- Return the SD card back and start Locus
C. How to leave my maps on external SD card
Locus personal maps and Locus vector maps can be stored in external directory on SD card. Please follow steps bellow:
- Connect the card to a PC and create an arbitrary folder on the SDcard for your maps, e.q. MyLocusExternMaps
- Move maps from folders Locus/Maps and Locus/MapsVector to the folder MyLocusExternMaps
- Move folder Locus from SDcard to the internal memory (without map files)
- Start Locus Map (stored in internal folder)
- Open Menu > Maps, from top right menu choose Add Maps > Add, navigate to the folder MyLocusExternMap and confirm on the 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. Rooted devices
- In case 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 Map
For more information please see:
Why Locus developers didn’t fix it?
Every application can create its own package-specific directories on SD card and use it for writing own data – see point B. Unfortunately there are more reasons why this solution is not suitable for Locus app:
- Locus Map has more than one version and every version has special package name (it has to be), which means every version will have its own unique directory.
- These directories are automatically removed after un-installation of Locus app. This is not convenient in case you have GBytes of map files.
General information about this issue