Problém
Po upgradu na Android 4.4.2. KitKat Locus Map nefunguje správně. Padá nebo se ani nespustí.
Vysvětlení
Bohužel Android 4.4.2. má novou vlastnost, která zabraňuje aplikacím zápis dat na externí SD kartu. Locus Map nemůže korektně ukládat a číst vaše mapy, body, ani trasy, pokud jsou uloženy na SD kartě. Z tohoto důvodu se Locus Map ani nespustí.
Koho se to týká
- dosavadní uživatelé Locus Map (problém se netýká nových uživatelů)
- pouze přístroje s externí SD kartou.
- problém se nevyskytuje na přístrojích s custom ROM.
Řešení
A – obecné řešení pro všechny přístroje
B – vlastní složka na SD kartě
C – jak ponechat moje mapy na externí SD kartě
D – přístroje s ROOT povolením
A. obecné řešení – přesunout Locus Map do vnitřní paměti
- nainstalujte (pokud nemáte) správce souborů – například ES File Explorer
- po spuštění zobrazte obsah vaší externí SD karty (obvykle sdcard1)
- klepněte a podržte složku Locus a zvolte Kopírovat
- přejděte do vnitřní paměti (obvykle sdcard0) a vložte sem složku Locus
- pokud byl proces úspěšný, uvidíte všechna data Locus Map ve vnitřní paměti
- vyjměte externí SD kartu z telefonu a připojte ji k vašemu PC
- smažte (nebo přejmenujte) složku Locus na externí SD kartě. Cílem je mít ve vnitřní paměti pouze jednu složku Locus.
B. Přesunout aplikaci a mapy Locus do vlastní složky na SD kartě
Každá android aplikace má svou dedikovanou složku na SD kartě, kam může zapisovat jen ona. Stejně tak Locus Map. Což se jeví jako ideální řešení tohoto problému, nicméně má dvě hlavní nevýhody:
- veškerý obsah této složky je automaticky mazán při odinstalaci Locus Map, a to včetně vašich map.
- při upgradu Locus Map musíte pracně nadefinovávat cestu k mapám, bodům, trasám a uloženému nastavení.
Pokud se přesto rozhodnete pro toto řešení, zde je postup:
- otevřete Locus Map > Menu > Nastavení >Různé > Nastavte kořenový adresář
- nastavte cestu, která bude obsahovat „menion.android.locus.xxxx“
- potvrďte a zavřete Locus Map
- připojte externí SD kartu k PC a přesuňte celou složku Locus do adresáře definovaného v předchozím kroku
- spusťte Locus Map
C. Jak ponechat mé mapy na externí SD kartě
Osobní mapy a vektorové Locus Mapy mohou být uloženy na externí SD kartě. Postup je následující:
- připojte kartu k PC a vytvořte pro své mapy novou složku na SD kartě, např. MyLocusExternMaps
- přesuňte mapy ze složek Locus/Maps a Locus/MapsVector do složky MyLocusExternMaps
- přesuňte složku Locus z SD karty do vnitřní paměti (bez mapových souborů)
- spusťe Locus Map
- otevřete Menu > Mapy, z menu vpravo nahoře vyberte Přidat mapy > Přidat, přejděte do složky MyLocusExternMap a potvrďte v horním panelu
Ve výsledku bude pracovní složka Locus ve vnitřní paměti a všechny mapy na externí SD kartě. Problém je popsán i v následujícím příspěvku (AJ): Saving offline maps on SD-card under Android 4.4 (KitKat)
D. Přístroje s rootem
- pokud máte rootovaný přístroj, můžete problém odstranit překonfigurací systému
- nainstalujte aplikaci SDFix a proveďte systémové změny
- spusťe Locus Map
Další informace získáte tady:
- http://support.solidexplorer.pl/responses/kit-kat-442-issue
- http://www.chainfire.eu/articles/113/Is_Google_blocking_apps_writing_to_SD_cards_/
Proč problém neodstranili vývojáři Locus Map?
Každá aplikace si může na SD kartě vytvářet specifické složky a používat je k zápisu dat, viz bod B. Bohužel jsou zde důvody, proč toto řešení nesedí na Locus Map:
- každá verze instalačního balíčku Locus Map má speciální název (musí mít), což znamená, že každá verze si vytváří svůj unikátní adresář
- tyto adresáře jsou automaticky mazány po odinstalaci Locus Map, což je dost nepříjemné, pokud máte v paměti gigabyty map
9 Comments
Hi,
I'm not Android developer, but AFAIK there are already available applications (non-system, not-rooted) which are able to write (delete, rename) files on external SD card. Hope you will investigate in this 'issue' to find some solution for Locus to work again with SD card.
BTW: no problems with Locus moved to internal storage so far (on Galaxy Note 3, KitKat).
Just FYI, thanks for great product anyway!!
Hi,
can you give me please some example, please? We'd like to solve it, so every idea is welcome. Maybe additional note: Application can save data into private folder managed by Android system. But this is not applicable to Locus because we need/want to have data in folder called Locus.
Hi.
Latest (3.1.1) version of ES File Explorer can create or write to any folder on extSD. Previous can't - verified. :-)
Hi,
It seems that ES File Explorer uses probably some hack via the media content files. We'll be watching it.
Thank you
Locus Map do you developers read the release notes? All you have to do is create a sub folder in your applications folder on the external sdcard and everything will work fine. For example:
Android/data/com.locus android/files
Downloaded maps etc go into the files sub folder and everything will work just fine.
Simply update your app to the new requirements
Hello Keith,
thank you for you comment. I'll forward this discussion on Google+ ( https://plus.google.com/118282045438155427142/posts/JCAER8nGWAW ) to keep it on one place.
hey devs,
the current version only works with locus on internal storage (sd)? why you dont check if device is rootet or not? i can't copy locus folder to the internal storage because there is no more space.
this is a dissatisfying situation :(
Hi,
please see section Solution C – Devices with ROOT permission in this article. Users with rooted devices don't need to move data into internal memory. You only need to change android permission.
We're a group of volunteers and starting a new
scheme in our community. Your website provided us with valuable information
to work on. You have done an impressive job and our whole community will be grateful to you.