User Tools

Site Tools


manual:faq:use_sdcard_on_kitkat

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:faq:use_sdcard_on_kitkat [2016/08/03 13:15]
mstupka
manual:faq:use_sdcard_on_kitkat [2018/11/27 15:15] (current)
mstupka
Line 1: Line 1:
-====== Locus Map on SD card ====== +====== Locus data on external ​SD card ======
 ---- ----
-===== Preliminary information ​===== +  
-In the beginning, 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. All worked flawlessly until Android OS version 4.4.2. ​came on stage. It brought redefined conditions of SD card reading/​writing permissions:​ + 
-  - **disabled ​random reading** of any place in a file stored on SD card (solved in Android 5 and Locus 3.11. for SRTM, vector maps and backup files, see [[manual:​faq:​use_sdcard_on_kitkat#​changes_in_android_50|below]]) +<WRAP center round important>​ 
-  - **disabled ​random writing** at any place in a file stored on SD cardWithout ​this any database is useless and that is why it is not possible to have your tracks, points, online maps being downloaded, online maps cache and lots of other DTB-related files on the SD card +===== Important! ​===== 
-==== Who is involved ==== +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
-  ​Only devices with SD card. +  - **random reading** of any place in a file stored on SD card was **disabled** 
-  * The issue does not occur on devices with custom ROM until Android 6+  - **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: For more information please see:
  
-  * [[http://​support.solidexplorer.pl/​responses/​kit-kat-442-issue|support.solidexplorer.pl]] 
   * [[http://​www.chainfire.eu/​articles/​113/​Is_Google_blocking_apps_writing_to_SD_cards_/​|www.chainfire.eu]]   * [[http://​www.chainfire.eu/​articles/​113/​Is_Google_blocking_apps_writing_to_SD_cards_/​|www.chainfire.eu]]
   * [[http://​www.gottabemobile.com/​2014/​02/​22/​samsung-galaxy-s4-note-3-android-4-4-problem-hits-micro-sd-card/​|www.gottabemobile.com]]   * [[http://​www.gottabemobile.com/​2014/​02/​22/​samsung-galaxy-s4-note-3-android-4-4-problem-hits-micro-sd-card/​|www.gottabemobile.com]]
   * [[http://​www.mobiflip.de/​samsung-galaxy-note-3-probleme-nach-update-auf-android-4-4-2-kitkat//​|www.mobiflip.de (Deutsch)]]   * [[http://​www.mobiflip.de/​samsung-galaxy-note-3-probleme-nach-update-auf-android-4-4-2-kitkat//​|www.mobiflip.de (Deutsch)]]
-===== Android 4.4.2. options ===== +</​WRAP>​ 
-=== AMove Locus to the internal storage ​=== +Locus Map installs itself in the **internal memory** of your deviceDuring 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:  
-  ​Install arbitrary Android file manager – for example ES File Explorer +===== Locus in internal ​and some data in external storage - RECOMMENDED =====
-  ​Open it and go to your external ​SD card (often marked as sdcard1) +
-  ​Long tap on Locus folder ​and choose Copy+
  
-{{ :manual:​faq:​sdcard_on_kitkat_a_01_long_tap_locus_folder.png?200 }}\\  +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: 
-{{  :manual:faq:sdcard_on_kitkat_a_02_copy_locus_folder.png?​200 }}+  * **raster maps** - map tiles downloaded by Locus or from external sources 
 +  * **vector maps** - e.gLoMaps or OpenAndroMaps 
 +  ​* **backup files** - created by the [[manual:user_guide:tools:​backup|Backup manager]] 
 +  * **SRTM data** - elevation data from online or offline sources
  
-  * Copy whole Locus folder to the internal storage +==== Raster maps ====
-  * Navigate to the internal memory (often marked as sdcard0) and Paste Locus folder+
  
-{{  ​:manual:faq:sdcard_on_kitkat_a_03_paste_locus_folder.png?​200 ​ }}+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. [[https://​play.google.com/​store/​apps/​details?​id=com.estrongs.android.pop|ES Explorer]]) and linked to Locus via the **[[manual:user_guide:maps_external|Add external map]]** command. The same procedure can be applied to all other raster maps obtained from other sources out of Locus.
  
-  * Paste Locus folder ​on internal storage +==== Vector maps ==== 
-  * Check that process was successful ​and you can see all Locus data on internal storage +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: 
-  * Pull out the external ​SDcard from phone and connect it to your notebook or desktop computer+  * 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 "​mapsVectorExt"​ 
 +  * define a new path to your vector maps in //Locus settings > Miscellaneous > Default directories > Set '​mapsVector'​ directory//​\\ {{ :​manual:​faq:​locus_sd_card01.png?​nolink |}} 
 +  * restart Locus 
 +<WRAP center round alert> 
 +**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!** 
 +</​WRAP>​
  
-{{  :​manual:​faq:​sdcard_on_kitkat_a_04.png?200  ​}}+==== Backup files and elevation (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)//​\\ ​{{ :​manual:​faq:​locus_sd_card02.png?nolink |}} 
 +<WRAP center round important>​ 
 +**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. 
 +</​WRAP>​
  
-  * Rename ​Locus folder ​on SDcard +===== Locus and all its data on SD card =====
-  * Remove (or rename for safety) Locus folder on external SDcard. The goal is to have only one folder Locus that is located on internal storage+
  
-**Your downloaded maps and other personal offline maps from other sources can be kept on SD card and defined ​as [[manual:​user_guide:​maps_external|External maps]] in Locus.** +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 appHowever, ​**we do NOT recommend it**, because:
-=== B. Move Locus and maps into a system private folder on SDcard ===+
  
-Every app on Android has its own special folder on SDcard which is writable only for this appSo it seems like the best solution how to place map on SDcard on KitKat. But Locus (in default) does not use it because there are two main weaknesses:+  * Locus Map performance ​on SD card is slower than in the inner storage 
 +  * External SD cards get easily malfunctioned and you can **lose all your maps/​tracks/​points data** 
 +  * All content of this folder, including your purchased maps, recorded tracks or downloaded geocaches will be automatically **deleted when you uninstall Locus**. 
 +  * If you upgrade from Locus Map Free to Locus Map Pro, you **can not use the same data** (maps/​tracks/​points) as the two apps create their own individual directory structures.
  
-  * 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 +Anyway, if you decide to use this option, follow these steps:
-  * 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 > Default directories > Set Root directory//​\\ {{ :manual:​faq:​locus_sd_card03.png?​nolink |}} 
 +  * Select path which ends with "​menion.android.locus/​files"​ or "​menion.android.locus.pro/​files"​\\ {{ :​manual:​faq:​locus_sd_card04.png?​nolink |}} 
 +  * Move whole "​Locus"​ folder to the directory defined in previous step with a File browser 
 +  * Restart Locus
  
-  * Open Locus > Menu > Settings >​Miscellaneous > Set Root directory +===== Advanced methods ===== 
-  * Select path which contains "​menion.android.locus" or "​menion.android.locus.pro"+==== Rooted devices - warranty-void solutions ==== 
 +  
 +<WRAP important round>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. </WRAP> 
 +=== SDfix === 
 +  * In case that your device is rooted you can fix it by editing the system configuration 
 +  * Install application **[[https://​play.google.com/​store/​apps/​details?​id=nextapp.sdfix|SDFix]]** and perform the system changes 
 +  * Restart LocusIt can write on your external SD card as it could in Android 4.3.
  
-{{  :​manual:​faq:​sdcard_on_kitkat_b_01_move_directory_to_the_private_folder.png?​200 ​ }}+=== FAT32 formatting === 
 +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.
  
-  * Connect SD card to the PC and move whole "​Locus"​ folder to the directory defined in previous step +=== TWRP + ExtSD Fix ===
-  * Start Locus +
-=== C. Store your maps on external SD card ===+
  
-Locus offline raster maps can be stored ​(not downloaded intoin external directory on SD cardPlease follow steps bellow:+  * Install [[http://​forum.xda-developers.com/​android/​software/​fix-extsd-fix-v1-0b-2016-01-18-t3296266|ExtSD Fix 1.9 latest stable Version]] ​(v2.9b - 2016-06-09by rufus.wilson 
 +  * Open "​TWRP"​ app and go to the menu "​Install"​ and select the "​ExtSD_Fix_rw-signed-v1.9b.zip"​ Zip-File.
  
-  * Connect card to the PC and create arbitrary folder on the SDcard for your maps e.qMyLocusExternMaps +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 itThen 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.
-  * 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: [[http://​help.locusmap.eu/​responses/​saving-offline-maps-on-sd-card-under-android-44-kitkat|Saving offline maps on SD-card under Android ​4.(KitKat>>]]+It works fine with Samsung Galaxy S5 SM-G900F (TouchWiz) with Stock ROM (without Provider Branding) ​Android ​6.0.(Marshmallow,​ API 23)
  
-=== DUse rooted devices ===+[[http://​forum.xda-developers.com/​xposed/​modules/​xposed-marshmallow-sd-fix-write-t3403263/​page25#​post69415913|More information in this XDA forum >>]]
  
-  * In case that your device is rooted you can fix it by editing the system configuration +=== XPosed module XInternalSD ===
-  * 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 FAT32Be aware that this does not support files larger than GB.+This app has an option to grant full access to the external ​SD, just like in prior to 4.4.2. [[http://​repo.xposed.info/​module/​com.pyler.xinternalsd|Download and other instructions >>>​]]
  
-<WRAP center round alert> +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!).
-Beginning with Android 6 not even rooted devices can acquire the full access ​to SD card. +
-</​WRAP>​+
  
-===== Android 5.0+ =====+You have to modify 2 jar files on the /system partition. This can be done with a patch apk. For details [[https://​forum.xda-developers.com/​android/​software/​guide-allow-sdcard-write-access-switch-t3593021|read this xda-thread >>​]] 
 +=== FolderMount ​==
 +  * Install from [[https://​play.google.com/​store/​apps/​details?​id=com.devasque.fmount|GooglePlay]] 
 +  * Add a folder pair. Source is the internal sdcard and destination is your extSdCard 
 +  * After adding, FM offers to move the files for you. Click yes. 
 +  * Wait until the moving operation is done, then click on the PIN. If PIN turns green, you are all set. 
 +  * The files will exist in both the source and destination after moving. This is expected and is normal. The files you see in your internal sdcard actually reside in your external sdcard now and if you "​unpin"​ the pair, you will see that your internal sdcard is empty again.
  
-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. +---- 
- +Is this article useful for you? Please rate it
-<wrap info>​**Works since Locus Map 3.11.0**</​wrap>​ +{(rater>id=1|name=faq_use_sdcard_on_kitkat|type=rate|headline=off)}
- +
-If you have a device with SD card and want to save some storage space, follow these instructions+
- +
-  * go to <wrap box>Menu > Settings > Miscellaneous > Default directories</​wrap>​ +
-  * 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 +
- +
-<WRAP center round important>​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!** ​ </​WRAP>​ +
-===== 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+.+
manual/faq/use_sdcard_on_kitkat.1470222928.txt.gz · Last modified: 2016/08/03 13:15 by mstupka