14

Everyone seems to be getting excited about Marshmallow's adoptable storage feature, but to me it seems like a major regression. There can be several reasons for not adopting external storage:

  1. When upgrading from Lollipop, I already have an SD card full of stuff. So re-formatting it and erasing everything in order to convert it to adoptable storage is a major disincentive. That would require transferring many GB of data off the device, re-formatting, and then transferring it back on, and I'm not sure how to do that in a robust manner or whether it's even possible, since adopted storage probably stores stuff in different ways.
  2. My SD card might be too slow for it to make sense using it as an extension of internal storage.
  3. I want to be able to use my removable SD card in other devices (e.g. quickly transferring huge video files to a laptop).

Based on these reasons, if I don't adopt storage, AFAICS that means that apps can only be stored on internal memory. And since I have a lot of apps, that means that since the Marshmallow upgrade, my device is regularly close to full, causing lots of functionality to break.

So is there really no way to move apps to non-adopted external SD storage on Marshmallow? If so, do I have any alternative besides uninstalling apps to free space, or downgrading to Lollipop? If not, this would be hugely disappointing and suggest that Google really didn't think carefully enough before providing this feature.

2

2 Answers 2

2

You are correct. Android Marshmallow has done away with apps being on the SD card when it's setup as portable storage. The only way to use it in that way is with root and apps like LINK2SD.

1
  • 1
    Ah, thanks! I didn't know about LINK2SD and apps2sd. Still seems hard to find a definitive procedure for using them on Marshmallow though. Commented Mar 2, 2016 at 14:51
13

Marshmallow internal storage can be better used with a mixed-format SD card as I also explain in my blog here:

http://blog.sam.liddicott.com/2016/02/android-6-semi-adopted-storage.html

First, you need adb working.

  1. Have SD card inserted and formatted as portable.
  2. Eject your SD card from the Storage & USB menu
  3. Use "adb shell" to list your adoptable storage:

like this

$ adb shell sm list-disks adoptable

disk:179_64

disk:179_64 is my SD card that can be made adoptable, I want 75% as external SD:

$ adb shell sm partition disk:179_64 mixed 75

Note: Your card may be listed with a comma instead of an underscore, e.g. disk:179,64 in which case, that is what you type:

$ adb shell sm partition disk:179,64 mixed 75
  1. This will erase the entire SD card, giving 75% as portable storage and the rest as adopted internal storage.

  2. Reboot your phone.

  3. From Storage & USB menu, select the SD card (internal) and choose Migrate Data (so that apps, where possible, are installed there).

  4. From the Storage & USB rename the adopted storage to have some name like Adopted otherwise if it has the same name as the external storage partition, the USB MTP view may only show the internal

Now you have adopted storage that can accept apps which allow "move to SD", and also an SD card where you can store Plex movies, google play music, photos, etc.

Thanks to @fernio who tipped me to post here.

6
  • 2
    Thanks - I already saw your approach as per the comments on the original question. However it is not at all clear to me whether this approach makes sense in my case: 1) How should I decide partition sizes? Your 75%/25% split sounds completely arbitrary. 2) What if I don't have enough free space left to create a partition of the required size? 3) Exactly what will get stored in adopted storage vs. portable? In particular, how do you know where big stuff will go, like camera videos/photos, Google Play music/videos, Spotify offline music etc.? Commented Apr 22, 2016 at 10:15
  • 1
    @AdamSpiers with regards to number 3, any app that offers to store data in the SD card (like Spotify) will see the Portable partition as your SD card
    – fernio
    Commented Apr 22, 2016 at 19:35
  • Partition sizes are arbitrary. On a 32G card 25% for adopted is generous. Partitioning will erase your card so you will have enough free space :-) and by experience I know that apps like play music, camera, Plex, that can store to SD will still have the option to store to portable. Otherwise apps may store on internal or adopted whichever you migrate data to, otherwise they will store where the app is installed. Commented Apr 23, 2016 at 12:16
  • For the java error, make sure you are running the command prompt under the admin mode Commented Sep 1, 2017 at 9:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .