Which version of Android started disallowing saving apps to an SD card? - General Questions and Answers

At one point you could install and use all your apps from the SD card if you chose to do so.
What was the last version that allowed this? Or is this baked into the phone by the manufacturer?
I'm still learning so bear with me.
EDIT: I've just read that Android 6.0 Marshmallow allows this if the developer of the particular app allows it.
So does that mean that none of the previous versions allowed this function?

If allowed by the app (in app manifest), an app may be installed to external storage rather than internal storage.
As of Android 6.0, apps were restricted to internal storage. However, external storage adopted as internal storage is treated as an external, internal storage device and apps may be moved between or installed to the various (real or adopted) internal storage devices. Apps restricting installation to internal storage are still disallowed from using the external, internal storage.
As of Android 7.0, the "Force allow apps on external" configuration option was added to Settings -> Developer options. The setting is further described: "Makes any app eligible to be written to external storage, regardless of manifest values". Despite, the setting's name and description, one is still restricted to having an app installed as on internal storage or storage adopted as internal storage, but app's (real) internal storage only requirement is no longer enforced.

Related

[Q] How is internal memory allocated?

How is the 16Gb of internal flash memory allocated for various purposes in these phones? It looks to me like about 12Gb is used for "USB storage", or in other words the file system that appears under the /sdcard directory (not counting any actual external card that may be present.
Is the other 4Gb then handled as directly-addressable memory for storage of apps and their internal data storage? I also assume that if you go into the Applications list and select "Move to SD Card" for an app, it actually just moves it from one part of the 16Gb internal memory to another -- is that correct?
As an Android developer, this caused a lot of confusion when the original Galaxy was released, as it essentially had what appeared as both an internal and optional external SD card. But at the Android API level, a call to getExternalStorageDirectory points you to the /sdcard directory, which is actually internal to the device!

New Option : 'force allow apps on external'

I see an option in Nougat to 'force allow apps on external'. I don't want to do the complicated way of partioning the sd as internal storage, the adoptable storage method that surfaced during the launch. Is the new 'force allow apps on external' option be better than the adoptable storage? Or is it gonna cause troubles eventually?
Adoptable Storage pain
dbux said:
I see an option in Nougat to 'force allow apps on external'. I don't want to do the complicated way of partioning the sd as internal storage, the adoptable storage method that surfaced during the launch. Is the new 'force allow apps on external' option be better than the adoptable storage? Or is it gonna cause troubles eventually?
Click to expand...
Click to collapse
Yes I'd like to know that too. Currently I'm on Marshmallow and have a specific partition on my sdcard for Adoptable Storage simply because I hate the fact that the current implementation of "moving" apps to external sdcard is temporary as the app eventually goes back to internal memory every time the app has an update.
Originally I thought Adoptable Storage fooled apps into thinking that its part of the Internal Memory domain however apps that have not been declared to use the manifest attribute will not budge from the true Internal Memory.
So what I would like to know is does this new feature in Nougat address the app reverting back to internal memory after an update issue? If so then I don't see the need for Adoptable Storage anymore. However there is still the risk that some apps will not run properly if forced to sdcard. Hope to goodness these are only small size apps.

Encrypted portable microSD card in Settings; apps can't read it. Help?

Not sure if many of you are aware, but the U11 allows you to encrypt portable microSD cards in the settings, which is nice for privacy purposes. The problem is since I did that (I even rebooted after) many of my apps can't properly read or write to the microSD card. I've noticed many of said apps don't implement Google's expandable storage permissions properly either (i.e. they don't ask you to select the root directory of the microSD card in Android File Explorer so they have proper read-write access to everything.)
My questions, therefore, are:
What am I doing wrong? Is there some permission I'm missing?
Are 3rd party apps supposed to be able to work with encrypted portable storage?
Is encrypted portable storage even an AOSP feature? Or something specific to 3rd party OEMs?
Why do so many apps not implement microSD storage read/write permissions correctly?
Any ideas?

How to manage the limited internal memory of a smartphone with whatsapp

Hi, I have an old Redmi6A phone (Lineage OS 17.1) that only has 8GB of internal memory. This is very little if you use Whatsapp. Of course I added a 32Gb SD card, but with whatsapp I have trouble saving my photos on the card. What are the possible workarounds?
1- Is there a difference depending on whether you set the SD card as portable storage or internal storage?
2 - My phone is rooted. I've looked for practical solutions including magisk, but no module matches.
3 - Beyond whatsapp, what should I do: is there an app that allows other apps to be installed on the external media? Is this a good idea? Is it better to limit the storage of data on the SD card to avoid the crash of these "deported" apps?
Just an advice or two would make me happy...
If Android device allows to make external SD-card part of internal storage memory ( keyword: Adoptable Storage ) then you are good. Check it.
I believe that my android device allows me to do this. The French translation does not use the words adoptable storage "stockage adoptable" but the 1st drawing seems to match.
What I have read on the subject indicates that the reading and access time to the data on the external card is much longer than on the internal memory. How does android arbitrate what it stores on the internal or external memory? Can the user control this?
I assume and hope that the most crucial apps are on the internal memory
It's on you how much of the SD-card's storage memory ( in % ) you'll add to internal memory: 1,2,...,100.
Yes, reading / writing to device's "portable memory" basically takes longer. So with regards to file transfer speeds, choosing the right memory card is crucial. Look here:
The best SD cards for 2023: top memory cards for your camera
We've tested and ranked all of the best SD cards you can buy
www.techradar.com
Android by default uses device's internal memory. The least app's allow to store their data on external SD-card: this is set by app's developer.
I tested the 2 options; first the adoptable storage but for some reason it didn't work; I mean the operation was correctly done but the 32Gb was not added to my internal memory; just a few hundred Mb more. I repeated the operation 3 times to rule out the possibility of an isolated incident.
So I was forced to reformat the SD card as external memory. Everything went well. But now I'm back to the original situation.
My search led me to 2 apps (Link2SD and App2SD) to override the restriction to move to the SD card. Those apps don't seem to be really used anymore: their peak corresponds to the 2015-2016 versions of Android (Marschmallow and Nougat) and are quite complex to handle since you have to format the external SD card in several partitions to be able to consider moving anything.
What do you think about this type of solution?
As @xXx yYy already said:
The least app's allow to store their data on external SD-card: this is set by app's developer.
Click to expand...
Click to collapse
Thus forget the named 3rd-party-tools that claim they can.
BTW: look inside here
Whatsapp folder in Android: Here's where to find it
WhatsApp folder with all media files in Android can be found on new location if you are on Android 11. Learn here where to find it.
mobileinternist.com
Napafroi said:
I tested the 2 options; first the adoptable storage but for some reason it didn't work; I mean the operation was correctly done but the 32Gb was not added to my internal memory; just a few hundred Mb more. I repeated the operation 3 times to rule out the possibility of an isolated incident.
So I was forced to reformat the SD card as external memory. Everything went well. But now I'm back to the original situation
Click to expand...
Click to collapse
After an external memory got converted to portable memory it's Android what automatically moves data from internal memory to portable memory as long as they moveable to gain internal memory space. Thus the few 100MB you reported.
You always can configure the amount of portable memory indeed to be used by Android's Storage Manager ( SM ) using ADB.
Well, I think I'm getting used to this adoptable storage which is really confusing since the size doesn't take into account the extra 32Gb (in the storage manager and also in solid explorer).
I don't know if it's a bug but sd maid and its memory analysis function allows me to check that telegram, osmand (including downloadable maps) and vivaldi browser will install directly on the adaptable storage. That's all I ask.
It's still surprising not to be able to view the content of the SD card; maybe it's a bug like others have experienced like on this thread
I wanted to experiment a nandroid backup on MicroSD adopted-storage with TWRP which was refused.
xXx yYy said:
You always can configure the amount of portable memory indeed to be used by Android's Storage Manager ( SM ) using ADB.
Click to expand...
Click to collapse
So I understand better the interest to calibrate the portion of adoptable storage...
Screenshot no. 5 shows 2.7 GB of the portable memory ( real capacity 31 GB ) are used.
To get the whole portable memory as internal memory used using ADB try this
Code:
adb shell
sm list-disks -> This cmd returns id of SD-card e.g. 179:160
sm partition disk:179:160 private -> Here you use the id of SD-card
where the numbers are the Android's name of your disk.
I just did this.
Reboot but it didn't change anything. Maybe the card is defective...
EDIT : oh wait, yesterday I inserted this same micro SDcard in an old samsung galaxy tab4 with the "same" custom rom (LineageOS 17.10) as adoptable storage. The 32Gb capacity was not added to internal memory as well. Maybe this rom is buggy for managing adoptable storage.
Sorry for my english
The ( meanwhile outdated ) Lineage OS 17.1 - a Lineage OS 17.10 probably doesn't exist - is based on Android 10 and can "Adoptable Storage" as you initially confirmed.
IMO you are probably doing things wrong
"migrate data" is the 2nd necessary step after 1st step "adoptable-storage" is created. It will ( try to ) move all apps from phone into SD-card ( if app is moveable ), means all new installed apps will directly get installed into SD-card as long as android:installLocation="auto" is defined in app's AndroidManifest.xml.
When 100% disk space got adopted you can't see your SD-card any longer, the only way to check disk usage is from Android's cmd line running df -h /mnt/expand/* ( if Android is rooted consider 3rd party apps like Link2SD instead ).

"Force allow apps on external" not working on Motorola G Power 2021

So I recently ran out of storage on my Motorola G Power 2021, so I bought a micro SD to move some of my less-used but not quite expendable apps. Originally I'd planned to format as internal storage, but my phone doesn't appear to allow this and doesn't even show the option to do so. So I opted for the next best thing, migrating some of the app data over by going to Apps & notifications > All Apps > (app) > Storage & cache, but there's no option to move the app to the external storage device. As per the title, I also turned "Force allow apps on external" in developer settings to no avail. Could Motorola be blocking this too? I've done a little searching, and I can't seem to find any examples of this other than this one which was on a completely different phone brand and this one which seems to have been caused by misunderstanding and resolved.
What I've tried:
Restarting phone - didn't help
Checking other apps - checked about a dozen and none had the move to external storage option
Rooting - can't unlock bootloader as per Motorola's website
Does anyone have any idea what could be causing this, if I can work around it, or even if I can somehow format as internal storage? Any help would be greatly appreciated.
Installing apps over to the microSD card isn't supported by all apps. In fact, many don’t support this feature at all. Some manufacturers - namely, Samsung and LG - reviously allowed users to format microSD cards as internal storage. That meant apps and games would be installed there by default. Sadly, this feature is no longer present on newer devices.
Technically, it’s still possible to install apps on the microSD if you’re willing to go through the trouble of rooting your Android phone and afterwareds use Link2SD to move the apps from internal storage to exernal storage.
xXx yYy said:
Installing apps over to the microSD card isn't supported by all apps. In fact, many don’t support this feature at all. Some manufacturers - namely, Samsung and LG - reviously allowed users to format microSD cards as internal storage. That meant apps and games would be installed there by default. Sadly, this feature is no longer present on newer devices.
Technically, it’s still possible to install apps on the microSD if you’re willing to go through the trouble of rooting your Android phone and afterwareds use Link2SD to move the apps from internal storage to exernal storage.
Click to expand...
Click to collapse
I thought the purpose of "Force allow apps on external" was to be able to transfer any app regardless of the developers' wishes. Is this not the case?
you already gave the answer yourself
Wrig9 said:
Originally I'd planned to format as internal storage, but my phone doesn't appear to allow this and doesn't even show the option to do so.
Click to expand...
Click to collapse
alecxs said:
you already gave the answer yourself
Click to expand...
Click to collapse
Does it have to be formatted as internal storage to be allowed to transfer apps? I guess I didn't really think about that.
Edit: Just to be sure we're all on the same page, the SD card is formatted, just not as part of the internal storage. I can access any files on it, but I can't put any apps there. I was under the impression that if you formatted as internal storage the SD card would act as a direct expansion somehow and automatically install data there once the integrated storage filled.
I haven't tested that specific option but afaik it overrides android:installLocation="preferExternal" in app manifest. that would allow to move the apk to Adoptable Storage, but requires MicroSD Card formatted as internal.
Only new apps are installed external automatically (based on that setting), for existing apps the "Migrate Data" option is offered.

Categories

Resources