Android 4.4 CAN be used successfully with an External card if certain procedures are followed.
This topic is old. Please do not read it.
Instead, go to:
http://support.crittermap.com/entries/67437220-Using-External-Storage-
=======================================================
Quick Summary:
With Android 4.4, all sorts of bad things start happening if you were using an external storage card in settings. It was a decision Android made to lock apps out of the external storage.
This was not our decision, this was Android.There are some actions needed on your part.
These are the options you have:
- Just use internal storage(the default)
- Use a root fix to let us write to the storage card. Some are discussed below.
- Use a new folder setting, which is an option given as of 5.3.2. Something long like "/storage/extSDcard/Android/Data/com.crittermap.backcountrynavigator.license/files" Please note it means that all of these files will be deleted if you uninstall BCN. Even if you install again right away. If you have valuable data in "/storage/extSdCard/bcnav" you can move it to "storage/extSDcard/Android/Data/com.crittermap.backcountrynavigator.license/files/bcnav". If you want just the waypoints/tracks, you can just transfer the data folder. To do this you will have to use a file explorer either on the device or on the desktop.
We would like you to have access to a folder on external storage that does *not* disappear on uninstall. Unfortunately, Android thinks otherwise.
To sum up, let me be clear. You CAN use the external card on 4.4 but you MUST use the folder name we suggest and you WILL lose the data on uninstall unless you back it up.
History:
I have been made aware of a number of people having problems after a 4.4 update to their Samsung S4 or Galaxy Tab 3. These are people who used an advanced option to change Root storage.
The symptoms vary, but on investigation, it appears that Android and/or Samsung has locked third party apps from writing to the external storage.
While Android probably initiated this change, I do believe Samsung could get around it. Please contact Samsung and indicate your displeasure.
At this time, we have no good workaround to suggest other than using internal storage, which is the default. It is, of course, very tempting to use a removable storage if it has a bunch more space, but in our experience it has had more headaches. Headaches which we cannot prevent.
Long term, when buying an Android device, get one with large internal storage, rather than counting on buying a card for a different storage area. Unfortunately, it is all too common that Android believes that you do not have the interest in using storage that you bought with your own money for whatever you want.
The only rumored fix, which requires you to have root access is to 'add the "media_rw" item to the write external storage permission on "/system/etc/permissions/platform. xml"'. Not accessible to most users. Please note that this is not a fix that we have tested ourselves. Do not root your device just to do this, because you might find that it doesn't work after all.
We have looked into another kind of loophole, but found that our files could be easily deleted in their entirety when reinstalling the application - not a desirable outcome.
I have gotten this link from several of you that explains the root fix. We don't know of any non root fix.
Please Note:
You may find articles or claims to the effect that BackCountry Navigator is just not compatible with Android Kitkat. In fact, you may hear that from Google Play Support. That is absolutely not true. If we could fix it as easily as checking a few boxes and rebuilding that would be great, but it is not so.
Possible workaround that is not reccommended:
It is possible that we could write to "/storage/extSDcard/Android/Data/com.crittermap.backcountrynavigator.license". However, it has some dangerous implications. The files cannot be seen outside the app. All of them are deleted when the application is uninstalled. Since many of you uninstall and reinstall often, this has permanent effects. Even you are just moving from DEMO to paid, everything would be gone.
It is not know whether you can browse to this location in storage root settings. We do not have hardware to test this yet.
Still recommended actions are:
- Use the root fix above.
- Use Internal storage.
- Complain to Samsung.
To use Internal Storage:
- If you haven't set it to it external storage before (via Settings->Storage Root), then do nothing. The default will work.
- If the storage root setting points to "/storage/extSdCard", it probably needs to point to "/storage/sdcard" (please confirm these locations as I've only heard them second hand). You can reinstall to restore that setting.
- If you have valuable data in "/storage/extSdCard/bcnav" you can move it to "/storage/sdcard/bcnav". If you want just the waypoints/tracks, you can just transfer the data folder. To do this you will have to use a file explorer either on the device or on the desktop.
Data Volatility
I am adding to this article to get some feedback.
I have noticed that many apps are using app specific space on external storage. Big drawback is, if you happen to uninstall and reinstall the app, everything is gone. Maps. Waypoints. Tracks. Everything.
You can get around that by backing up the directory and/or never uninstalling the app. However, our statistics show that people uninstall and reinstall often, and we don't know how often.
In version 5.3.0, we give you this option, with a warning that we strongly recommend against it. Even with that, we expect that we will hear from angry people later.
Comments
78 comments
I have a Samsung Galaxy S3 and Samsung Tab2 7" and will try to avoid the 4.4 update. Thanks for the information.
Fish10, lets hope that continues.
Sooo.....
T-mo Galaxy Note3
SEPF_SM-N900T_4.4.2_0005
now that i cannot access, options?
btw, wtf?
There is no need for profanity.
The information above should be applicable to Note3 as well.
While I understand your frustration over Google's rather callous treatment of its Android app developers and KitKat's restrictions re external storage, the explanations I've read for the motivation behind this change (stopping unrestricted read/write access to any and all storage locations on a device) is understandable, particularly from a security standpoint. Although it may be a risk that new updates to either the Android operating system and/or the Backcountry Nav app would erase stored information on an external SD card with a app specific folder, it would seem to me that such a risk is worth regaining the ability to store route/waypoint/map information on the external SD card. An aggressive campaign warning users of this risk, coupled with data backup strategy that every user should already be employing, would seem sufficient mitigation. I would suggest instead of bemoaning what appears to be a reasonable security upgrade to the Android operating system, BCN be modified to re-enable the external SD read/write capability under the current KitKat development rules rather than suggest a solution that requires rooting. After all, a BCN user does not have to use an external SD card even if BCN allows that capability if the customer does not want to incur the risk; at least give us a choice!
Samsung Note 2 here
Went to Settings>Storage Options> Suggestion was to use /storage/extSdCard
I accepted that option.
Launch BC Nav and all my trip data is not visible. Okay, I assume it is looking at the new folder on the ext card.
Choose menu >Trip Data> Switch to another trip database: I see only one choice default which is at /storage/extSdCard/bcnav/data
I don't even know why this is here, since it does not offer the opportunity to point BC Nav at a different location.
BTW: ES File Explorer or Astro show my existing bcnav folder with data (1.44 GB of my phone internal storage).
BCNav definitely DOES allow you the ability to look at a different folder. You just did it. It was looking at the internal bncav folder until you redirected it, and I recommend you stay there. In addition the the suggestions, there is also a browse button on that dialog.
Changing the folder does not move files. You start with a clean slate, but you can move files with file explorer.
However, given the history, I do not suggest you do so. Stick with the internal storage.
>Choose menu >Trip Data> Switch to another trip database: I see only one choice default which is at /storage/extSdCard/bcnav/data
Yes, if you change where the root bcnav folder is, that applies to where it looks for all the subfolders.
>I don't even know why this is here, since it does not offer the opportunity to point BC Nav at a different location.
It's likely meant to inform, not imply that you can change it from there. We could take that out.
>I don't even know why this is here, since it does not offer the opportunity to point BC Nav at a different location.
It's likely meant to inform, not imply that you can change it from there. We could take that out.
Maybe so, Nathan. When there is only the default trip data, and a user would like to Switch to another database, then they don't want to be informed, they want to "switch"
-----------------------------UPDATE-------------------------
I used ES File Explorer and moved my bcnav folder from internal to external storage. I just can't afford to have 1.4 GB of internal memory dedicated to the data, and I prefer not to selectively delete files to gain room. BC Nav launches fine and finds the correct folder on the external card, and when I select Switch to another database, it shows me the other trip databases to choose from. However, the choice is actually limited to only the .bcn files inside the data folder. In other words, BC Nav does not allow me to look at another location. I suppose I can change the Storage Root (default location), but that is then limiting me to only look in that single location.
Wouldn't it be nice if BC Nav allowed users to browse to another location for their files; on their LAN, or in the cloud, or maybe just on their storage card on their device? I mean browse, not change the default storage location.
I am going to ask you to move this to the feature request forum
http://support.crittermap.com/forums/392230-Feature-Requests
As it is a great discussion but no longer fits the topic above. Your external storage appears to be working fine - hope that continues.
I have a Samsung S4 also and I suggest a work around would be for the programmers to allow tracks to be saved on internal storage while leaving external storage active for pre-stored maps that have been moved there using a file manager. Yes it appears to be possible to use all features of the app if you are restricted to internal memory but for stored maps as we have seen, very little can be stored on the S4 internal memory.
You could complain to Samsung, but it's really a Google issue. I just bought the new HTC One (M8) and have the exact same problem! ...and to think I was so excited about the M8 having an SDcard slot (unlike the M7) and supporting up to 128GB... perfect for storing lots of map data files without consuming internal storage, eh?! It just seems like one piece of this puzzle is preventing the advantages of the other, where they really ought to be working together! If this is a tactic to force their cloud storage, that obviously doesn't work for this app when we're out hiking and don't have/don't want cell coverage.
So... maybe the more people reporting this directly to Google, the more likely they'll consider a change?? I just called them and logged an issue with a customer support rep and left a message on the post-call survey. I'd invite you to do the same: 1-855-836-3987
Do I understand correctly that the app works just fine so long as I rely on internal storage? I have a GS3 on Verizon running 4.3, so I think I would only have a problem if I was 1) using external storage; AND 2) got upgraded to 4.4. Is that correct? I don't see the GS3 getting updated to 4.4 anytime soon....
I read an article over the weekend about this hot SD card issue with KitKat. Sounds like it was done for security reasons. More specifically, this restriction prevents any old app from reading the SD card and pulling info that doesn't belong to them. However, the article also says "third-party applications — as in ones you download from Google Play or elsewhere — can only write to files and folders that they have created or have taken ownership of".
So I wonder if that means each individual app developer can get around this issue by creating a folder on the SD card that only they would have access to for its own files. If I'm understanding that correctly, BCN could make this available in a future version for those of us on KitKat??
Read the full article at: http://m.androidcentral.com/kitkat-sdcard-changes
Hey Nathan,
First of all, I love Backcountry nav.! But is there anything new on this issue? I'm trying to setup my new S5 and can't get it to use the external SD card. From other sites I've read that the 3rd party developers can get around this problem now? is this true? and when are you guys going to use the Fix? I also don't want this to mess up my Galaxy Tab3 if they update to KitKat. Have an awesome outdoor weekend! Thanks for any info.
Daron
Given the high risk of losing BC Nav functionality after a firmware update to Kit Kat
but faced with the insistent screen display to do so, either now or later,
do you know of any way to prevent that update?
I'm sure Verizon/Samsung/Google will eventually cause the update to happen in
the background and I'll be in the same situation as the other users
I'd like to permanently avoid the update until all these bugs are eliminated.
Thanks
Michael Grady
Nathan,
First off, and to the point, please do whatever you can to bring back external storage capabilities on affected Samsung devices, even if it means risking loss in case of reinstall.
Secondly, let me thank you for making such an amazing navigation app. I have gotten a lot of use out of it.
Offline map and trip data storage is probably my number 1 reason for purchasing bcnav. I use bcnav primarily to keep myself on-track on back-country trail runs, where I have no data service and I'm on-foot with only what I can carry on my back, and getting lost, or even a few miles off course would have major implications. I use offline maps/imagery, as well as trip data with route plans and waypoints, etc.
Due to the amount of storage required, especially for offline map tiles, it is very important for me to specify that this data be stored on my external SD card, rather than in primary storage. Despite the inconvenience of potentially losing my data if I uninstall without backing up, being able to store it on the external card is still better for me than being forced (thanks Samsung & Google) to use my primary storage.
I've thought of some alternatives that might make things a little less painful for users, but would definitely add work for you. Maybe you've already considered them too.
Thanks for a great app, and for awesome support.
-Scott
Agree with Scott's comment. I just upgraded to KitKat and of course BCN broke. I temporarily moved to internal storage, and decided to delete all cached tiles, routes, waypoints and just start fresh, because I simply don't have that much room on internal storage (16GB versus 64GB external) and preserving the cached tiles just isn't that important. (I keep all my kml/gpx on Google Drive and can reload from there) The right answer is to make BCN fit the (yes, improved) Android storage model and write to /Android/data - or at least give you that choice in the UI. It is infinitely preferable to using internal storage with the very small downside of understanding the data will be wiped when the app is uninstalled. That I can deal with; what I can't deal with is using up limited internal storage. In the meantime, I will simply wipe the cache periodically and only download what I need for an upcoming trip - re-downloading as necessary.
Ditto on previous post.
As there's no solution in sight from Samsung/Google, etc... I agree with previous post that we need some sort of a fix, whether temporary or permanent. Especially for those of us who rely heavily on huge offline maps/packages. Example: I've only got ~3gb free on my Galaxy S4 (without bcnav installed), yet I have well over 5gb of offline maps/packages from previous downloads.
Here's an idea: Add a 2nd storage option in bcnav settings. It would look something like this:
-Storage Root for Waypoints/Tracks/etc (default to internal storage),
-(New) Storage Root for Maps (default to internal storage),
-Users can download offline map tiles/packages to internal storage, then manually move them to extSDCard as we run out of space.
-When we want to view those maps offline, we simply switch the Storage Root for Maps to external SD Card. The app should still be able to WRITE waypoints/tracks/trip data to internal storage, while READing the download maps from the SD Card.
Feasible?
Please note:
If anyone knows how to stop the update, please note it here.
5.3.0 lets you choose the app private folders that will get deleted on uninstall.
There are other good ideas here, but please note that they can cause a lot of turmoil (on top of the usual), so we can't promise them instantaneously.
I just tried the 5.3 option of changing to the "emulated" directory. However, it looks like that it's just saving to another directory that is still on my internal storage, not my external.
You are probably right. It might take some more tries on our part. Not having the same device here was a limitation.
Nathan,
Thanks for the quick turnaround on an update release!
I installed 5.3.1 on my Galaxy S5 this evening. And to start with the good news, it appears that after some playing around, I'm able to store trip data and offline map packages to my external storage card.
At first I thought I was seeing the same thing as Tomsteinbrink, because the "emulated/0/..." path showed 8.x GB of 11.x GB, rather than the 50+GB it should have showed for my external card.
Since the default "sandboxed" option wasn't what I wanted, I tapped around a bit and eventually tapped "Browse" and saw The contents of the "/mnt" directory, which were "extSdCard" and "sdCard". I think at this point I was confused by a subtle detail of how the dialog works. I tapped the radio button by "extSdCard", not realizing that I could also tap on the name itself, "extSdCard" to navigate to that folder and see it's contents.
When I selected the radio button, the hit "Ok", I wasn't able to store anything at all, couldn't create a new trip DB, couldn't load existing trip DB, etc. I think this is because I had pointed bcnav to the root directory on my sd card, which is "blocked" by kitkat/google and samsung.
When I later found that I could tap on the text "extSdCard" (and subsequent subdirectories), I was able to navigate all the way to /mnt/extSdCard/Android/data/com.crittermap.backcountrynavigator.license. After selecting this directory, I was able to create new trip DBs, add wayponts to those DBs, and switch between trip DBs. However, in my initial test, I was UNABLE to create offline map sets with this storage location selected. Oddly, though, now that I'm trying again, it seems to be working. I tried to capture a screenshot of the error message I received, but it seemed like the error message disabled screenshot capability. Anyway, I'm downloading a 50 MB test area of the National Forest Service map as I sit here typing.
I'll play around with the options a bit more over the next few days/weeks and let you know how it goes.
I hope my above post may prove useful in helping others to get this option working, and/or provide some insights for you in your ongoing development efforts to give us the best possible experience, despite the restrictions from Google and Samsung.
You're my hero - navigating to the /mnt/extSdCard/Android/data/com.crittermap.backcountrynavigator.license in the manner that you just described worked this time. THANK YOU!
Works for me! Just upgraded to 5.3.1 .... Galaxy S4 4.4.2 KitKat, and successfully able to change storage to /mnt/extSdCard/Android/data/com.crittermap.backcountrynavigator.license ....
**Also was able to copy the internal bcnav folder to the SD Card see previously downloaded maps. I turned off the "Internet loading of tiles...", and deleted the internal device bcnav folder to verify everything was reading/writing to the SD Card and not internal memory. All seems working fine so far! Thanks!!!!
Also, per above: "It is possible that we could write to "/storage/extSDcard/Android/Data/com.crittermap.backcountrynavigator.license". However, it has some dangerous implications. The files cannot be seen outside the app." .....
fyi, I have no problem seeing these files/folders outside the bcnav app, and I'm non-rooted. I'll just remember to backup that folder before doing any uninstall/reinstall of bcnav. Maybe a simple 'warning'/pop-up when somebody chooses external storage location would minimize any upset users who lose everything on an uninstall/reinstall because they didn't manually backup that folder. I'd also just disable the storage location feature in the DEMO version so you don't have to worry about folks wiping anything out when purchasing the Pro version. (plus would be a good upsell feature to Pro).
It looks like good news for owners of Samsung Galaxy S3's: Samsung is not going to upgrade them to Android 4.4 (I had a scare this week when Verizon issued an upgrade, which turned out to be limited to changing phone network when roaming in Canada) http://www.knowyourmobile.com/samsung/samsung-galaxy-s3/22140/samsung-galaxy-s3-android-44-kitkat-update-not-happening
Nathan; I really like your app!
I also moved to external storage using the app-specific directory. This didn't stop me from complaining to Samsung as well. I don't want to be juggling maps, so I purchased a 64GB external SD right before I upgraded from S3 to S5. Other than this stupidity, the phone is great. I store several gigabytes of maps since I am a hunter and work with my son's Boy Scout troop. This was poised to be a deal breaker for me, since the GPS role is a major reason why I use a high-end android phone in the first place. I told Samsung that I would stop buying their products if their change requires me to divert my money to dedicated GPS devices and stupid storage space workarounds.
DoggCatcher also offered a similar solution. Maybe there are additional steps before we uninstall and reload these apps, but that is better than being limited to a few hundred megabytes.
Article is closed for comments.