Allowing users to move the app to the SD card

105 views
Skip to first unread message

Jason Hsu, Mr. Swift Linux

unread,
Feb 1, 2013, 1:38:58 AM2/1/13
to androi...@googlegroups.com
I have just discovered that the android:installLocation property in the <manifest> section of the AndroidManifest.xml file can be used to give the users of your apps the option of moving the app from the device's internal memory to the SD card.

Is there EVER any good reason NOT to do this?  Why is the default setting to PROHIBIT the user from moving the app to the SD card in order to conserve internal memory?

According to DiskUsage, my Android phone has only 161.2 MiB available for data.  42.2 MiB is required for system data, which leaves only 119.0 MiB available for apps.  Google Play Store (very essential, for obvious reasons) takes up 10.6 MiB, ThinkFree Office (cannot be moved to the SD card) takes up 8.84 MiB, Google Play services takes up 7.49 MiB, Maps takes up 3.98 MiB, and Foursquare takes up 3.73 MiB.  Thus, I don't have room for that many apps.

Given all this, I take every chance I have to move apps to my SD card, which has lots of space to spare.  As a developer, is there any reason I should prevent my users from moving my apps to their SD cards?  If not, why doesn't Android set the android:installLocation property value to "auto" by default?

Jeremy Haberman

unread,
Feb 1, 2013, 7:56:57 AM2/1/13
to androi...@googlegroups.com

"The advantage of installing on SD card is easy to understand: contention for storage space is reduced. There are costs, the most obvious being that your app is disabled when the SD card is either removed or in USB Mass Storage mode; this includes running Services, not just interactive Activities. Aside from this, device removal disables an application’s Widgets, Input methods, Account Managers, Device administrators, Live wallpapers, and Live folders, and may require explicit user action to re-enable them."


"Warning: When the user enables USB mass storage to share files with a computer or unmounts the SD card via the system settings, the external storage is unmounted from the device and all applications running on the external storage are immediately killed."

Jeremy


--
You received this message because you are subscribed to the Google Groups "MN Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androiddevmn...@googlegroups.com.
To post to this group, send email to androi...@googlegroups.com.
Visit this group at http://groups.google.com/group/androiddevmn?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Al Sonnenberg

unread,
Feb 1, 2013, 12:15:44 PM2/1/13
to androi...@googlegroups.com
One reason I can think of to not allow users to move an app to the SD card is a case like Spotify where it allows you to download songs to your device to playback later.  But since you didn't purchase the songs (you're only purchasing the streaming service) you don't own them.  Allowing users to move these files (along with the app) to an SD card would allow them to pirate the music.  


In addition, I'm not sure of how secure files are on the SD card, when they are on internal storage, you need root access to see them (outside of the app that put them there).   This is one reason some apps won't allow themselves to be installed on rooted devices.

I once read some article talking about how the trend is that new devices won't even have SD cards so these may become a thing of the past.

Dan Syrstad

unread,
Feb 5, 2013, 3:57:52 PM2/5/13
to androi...@googlegroups.com
When an app is moved to SD, it is stored in an encrypted virtual file system. You cannot just get at the app files.

However, apps can also store data to the SD card separately. There's no built-in encryption for that.
-Dan

Reply all
Reply to author
Forward
0 new messages