This was tested on a Galaxy S7 on Android 6 (Marshmallow), but should work on most Android versions that are not many many years old!
If you have accidentally changed a setting constant from the Android API you can reset it to NULL (not a string)
For example if you have changed the constant LOCATION_MODE_HIGH_ACCURACY using adb shell or just shell inside Android like this:
Tested on SM-930F (Galaxy S7 international model) but may be usable for other varients and models.
Samsung decided not to use the new feature in Android 6.0 Marshmallow which allows you to format external SD cards as "Portable Storage" (for media and general files) or "Adaptable Storage" (for "expanding" the internal storage of Android, which should have happened ages ago but...).
This means that your brand new 32 GB phone wont be able to have a lot of big applications like Google Maps with offline areas or Maps.me etc.
Solutions for getting more storage to apps
Non-rooted users
Users who do not have a rooted phone are left with 2 options for getting more storage.
Solution 1:
Use the old method to free space on the built in storage; Androids native App2SD aka moving apps that allow it in settings. This is limited to apps that chose to allow it, and apps can also choose what they want to be able to be moved to the external SD card. In order to do this you need to format the SD card inside settings -> storage -> SD-card -> format
Then for some apps, you can move some parts using the native Android App2SD method in settings. Solution 2: You can actually use the new Marshmallow features, but it requires a computer with ADB (Android Debugging Tools) installed. This will allow you to both have a partition for media files/general files (whatever you want basically) which will be visible (read-/writeable) in Windows or other OS, and on the phone. In order to do this I recommend making sure there's no more than 1 partition on your MicroSD and it's empty. If the MicroSD card is in your phone, shut it down and take it out. Then make sure there isn't a extra internal SD card under storage in your settings (which is highly unlikely, because then you probably wouldn't be reading this guide), if there is, disconnect it. Then follow this guide on how to use ADB to split the SD card into 2 partitions (technically 3). Below is a video on how to do that, and an alternative text guide. As I talked about earlier, you can have a partition for media files ("Portable Storage" partition) and one for apps ("Internal Storage" partition), which is very neat, so make sure to use the mixed command when following this guide. Otherwise you will end up with only 1 partition on your MicroSD card which is encrypted and can only be used for internal apps, and can only be used on one phone!
For instance this command will make 78% of your SD card into the FAT32/exFAT (not sure exactly what Samsung chooses, but one of these) partition which can contain media files, and the remaining 22% will be for internal data (applications)
sm partition disk:179,0 mixed 78
Alternative text guide: http://bgr.com/2016/03/11/galaxy-s7-edge-tips-microsd-adoptable-storage/ After this I recommend using a tool to rename your SD card's FAT32/exFAT partition (the one for media files and not apps, the one which is visible in Windows). If you don't do that, you will be presented with 2 identical names when using the native App2SD (which also works with this method). It'll look like this screenshot:
Shut down the phone, take the MicroSD cart out, and connect it to Windows (you will need some kind of SD card reader/adapter, I own a cheap one bought from china). You can ex use Windows Explorer to rename it by right clicking the disk (it should be the only one visible) and give it a label like something like PortableM.
Apply changes, and put the card back into the phone.
Now you can see the difference between the internal SD card partition, and the "media" SD card partition. You can now choose to migrate/move some installed apps if you go to settings -> storage, click on the internal (MicroSD) SD card storage, and then click on the top right corner to get the dropdown list, click Migrate data. Screenshot:
Now you have the option to use App2SD, or the new Marshmallow method to move apps into your MicroSD card AND you can still use it as a normal SD card for files visible in Windows!
Rooted users If you wish, you can used the pre-Marshmallow method, Link2SD to aquire the maximum of freedom to choose what you want on your SD card. However the most popular app (Link2SD)for that is not updated yet for Marshmallow, and requires a workaround.
Bonus info: The storage when looking at it from Windows
When using solution 1 you can put pictures, videos, text files etc into the external storage (your MicroSD card) and you will be able to see these files when your phone is connected through a MicroUSB cable to your computer.
You can not, however, see the folder containing the application files you may have moved with the native App2SD method.
If you connect the SD card directly to the computer with a SD card reader, you won't be able to see the card, nor the data inside, as it is encrypted (or running some odd file system). You can still see and format the card using MiniTool Partition Wizard Free Editionthough, but that won't be useful if you wished to copy the application files for backups etc.
If using solution 2 and formatted into 2 partitions as described above:
It will show the "Portable Storage" partition in Windows (The FAT32 one which can be used for media files etc) when phone the is connected with SD card inside. It doesn't show applications which is moved (using App2SD or with the Migrate data to the "Internal Storage" partition).
You can however see the .android_secure folder, which contains the application files you moved to the Portable Storage using the native App2SD.
Switching/upgrading SD cards
If you later want to switch your SD card with a bigger or just another one, there's a good chance you'll loose some data. To switch to another SD card, the general technique is to move all data from the SD card to the phone using Android's built in tools and the apps settings. Moving data from the Adaptable Storage partition is only possible by manually moving all apps that's on the partition in the android application settings to the phone. You can use a program like AppMgr III to see which apps is on the SD card (the Adaptable Storage partition), and move them one by one. The Portable Storage partition may also contain app data, which some apps like Spotify uses. In some of the apps' settings you can choose where it puts its data like Spotify and Maps.me, and you can move the data to the phone. The rest of the files is just "flatfiles" (like images, documents etc) and you can back them up by putting the SD card into a SD card reader (possibly more safe than connecting the phone with USB and copying that way) in a computer, and copy them as usual When you have moved all the app data from the Adaptable Storage and Portable Storage to the phone, and taken out the old SD card, the phone will come with a notification saying the SD card can't be found, and you can deregister it.
WARNING: When deregistering, there's no turning back! You can't get the encrypted data from the Adaptable Storage recovered, and if there's app data left on the Portable Storage it's very much likely impossible to "reconnect" to its app on the phone. Some apps like Spotify and Google Maps are smart enough to recognize that there's a new SD card and find the old data, but most apps are not.
You can then shut down the phone, and put the new SD card. Then follow the above guide to format the new SD card. When that's done, transfer the backed up flatfiles to the Portable Storage partition on the new SD card, and you can start moving apps to the Adaptable Storage as before.
This was my first guide, feel free to leave a comment containing feedback. Or if you have found a mistake, feel free to point that out too!
Hi, I have often thought about making a place to put guides and tutorials on the many IT issues I occur, and the solutions to them. This blog is gonna contain help to specific software or hardware problems. Sharing is caring! -ITNT