Installing apps to external SD Card storage

William Hunter

Active Member
Licensed User
Longtime User
This post is in follow-up to a recent exchange with Erel. I consistently use the CanInstallToExternalStorage attribute, with the expectation that apps will always be installed to an available SD Card. This is not the case with all versions of Android.

I have two devices for testing. A Viewsonic Viewpad7 running Froyo, and a Samsung Galaxy phone running ICS. While I can install my apps to an SD Card on the Viewpad7, there is no provision to allow this with the Galaxy phone. The option is not on the phone to allow apps to be installed to an available SD Card. There is not a hint of a move function whatsoever. It looks like Google has intentionally blocked any means of writing to an SD Card by third party apps.

If I connect the ICS Galaxy phone to my pc two drives are mounted. The first is labeled SD Card; the second is labeled USB Storage. Although an SD Card is present, apps intended for installation to the SD Card are instead installed to the normal “internal” app storage location.

This also means is that even though we write an app intended to store data on an SD Card, this will not happen. The data will instead be stored in “internal” flash storage. This in addition to the fact that apps can’t be installed to an SD Card is quite problematic for me.

It seems that the problem is created by an omission in the permissions of platform.xml. There are those that are getting around this problem by rooting their device and editing file: /system/etc/permissions/platform.xml.

Find text

B4X:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
</permission>

And replace with

B4X:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
</permission>

I have no interest in rooting any of my devices, and I’m by no means an expert in Android. I can only go by what I read in various forums, as well as what information I can gain in conversing with the sales staff of electronics stores selling Android devices. I have been looking to buy a new 10” tablet, and have spent some time looking at models from Samsung, Asus and Acer. They’re all the same. There is no provision to provide third party apps with both read and write permission to External SD Cards. I’ve decided to shelve my pursuit for a new tablet until Key Lime Pie comes out. Hopefully by then, Google and the various manufacturers will have seen the error of their ways and corrected the permissions problem.

I am posting this for the sole purpose of passing along information to fellow forum members. :sign0137:

Best regards
 
Last edited:

William Hunter

Active Member
Licensed User
Longtime User
This post is in follow-up to my original post above. This seems to be one of those situations where the more I seek understanding the less sense any of it makes to me.

I my post above, I mention that when the Galaxy phone is connected to a PC there are two drives mounted. The first labeled SD Card; the second labeled USB Storage.

When I view these storage areas via a file manager on the Galaxy, the area described above as USB Storage appears as sdcard and the area described above as SD Card appears as extSdCard.

I have installed an app to this device that should install to an available SD Card. It does not. It instead installed to the normal “internal” app storage location. This app in turn is written to install a data file to an available SD Card. It does not. The data file does not appear in either the storage area called sdcard or the storage area called extSdCard. I know the data file is on the device because the app makes use of it, so it must have installed to the normal “internal” app storage location.

I guess this is something I will have to learn to live with, although Google’s justification for this change eludes me. The reason I am so focused on this is because my current tablet has maxed out the available on- device storage and will no longer accept updates to apps that are part of the manufacturer’s originally installed package. Any developer writing apps that store large data files, such as maps, will find this to be a problem at some point along the way, because any expected use of SD Card storage is now precluded.

I hope I have explained this in a way that makes sense, and that it is seen as useful information. I also hope that Google does not persist in limiting the functionality of Android in this way.

Best regards :)
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
I think this topic is very interesting and I'm surprised that no one has commented.

Surely space for apps and data is important, despite the smartphone will always have more memory.

No one who has more experience wants to participate?
 
Upvote 0
Top