have a Samsung A01 and was running out of space so i got an SD card, i want to download apps directly on the SD card after a few google searches i found out that you can partition an SD card to be included in as internal storage, i ran the commands but after partitioning and needing to close it, the phone kept bootlooping, idk if it's cuz the sd card is not correctly formated or something,
after failing at that i decided i will just change the installtion location but whenever i run
adb shell pm set-install-location 2
i get the error:
Exception occurred while executing 'set-install-location':
java.lang.SecurityException: Package android does not belong to 2000
at android.app.AppOpsManager.checkPackage(AppOpsManager.java:8803)
at android.content.ContentProvider.getCallingAttributionSource(ContentProvider.java:1096)
at android.content.ContentProvider.getCallingPackage(ContentProvider.java:1076)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:2059)
at com.android.providers.settings.SettingsProvider.insertGlobalSetting(SettingsProvider.java:1996)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:628)
at android.content.ContentProvider.call(ContentProvider.java:2576)
at android.content.ContentProvider$Transport.call(ContentProvider.java:526)
at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:2991)
at android.provider.Settings$Global.putStringForUser(Settings.java:21016)
at android.provider.Settings$Global.putString(Settings.java:20844)
at android.provider.Settings$Global.putInt(Settings.java:21095)
at com.android.server.pm.PackageManagerService.setInstallLocation(PackageManagerService.java:32456)
at com.android.server.pm.PackageManagerShellCommand.runSetInstallLocation(PackageManagerShellCommand.java:1630)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:224)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:29855)
at android.os.Binder.shellCommand(Binder.java:986)
at android.os.Binder.onTransact(Binder.java:860)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:5411)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:9925)
at android.os.Binder.execTransactInternal(Binder.java:1220)
at android.os.Binder.execTransact(Binder.java:1179)
idk how to solve this
Converting an external SD-card storage space ( entirely or partially ) to an internal SD-card storage space is done by so-called Adoptable Storage fearure if it's supported by pre-installed Android ( i.e. Android 6 and higher ).
Look also here:
How to Use Android's Storage Manager
How to access, manage, and delete files, and increase storage using Android's storage manager--without even rooting your device
www.lifewire.com
Simply formatting / partitioning an external SD-card is not the right way. If you really want to do it at your own look here:
Enable adoptable storage no root needed
Have adb installed. Dev options enabled. Oem unlocking on. And usb debugging. I have done this on my cricket stylo 3 and works great. Open CMD (command prompt) on your PC and enter: “sm list-disks”. This will display the disk ID of your...
forum.xda-developers.com
Mjoygullyusingoldphones said:
adb shell pm set-install-location 2
Click to expand...
Click to collapse
This commands allows apps to be installed on an external storage from system side. But if an app wants to be installed on external storage is declared in its AndroidManifest.xml:
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >
And that's a big problem because most apps do not declare this attribute. In that case:
If you do not declare this attribute, your application will be installed on the internal storage only and it cannot be moved to the external storage.
Click to expand...
Click to collapse
https://developer.android.com/guide/topics/data/install-location
Installing an app on external means that only the app's APK is stored on external while the app's specific data has to be stored on internal due to some security restrictions by Google. See here:
Access app-specific files | Android Developers
developer.android.com
A general issue when using external storage for app's data is that a SD card formatted in exFAT can't provide any mandatory security features such as encrypted storage or Linux file permissions.
Adoptable Storage is ext4 file system and provides same security features as Internal Storage. One UI never supported it.
thwalker3 said:
Yep. Samsung helpfully disables adoptable storage on all of their devices (the better to sell you models with more internal storage).
Click to expand...
Click to collapse
alecxs said:
Adoptable Storage is ext4 file system and provides same security features as Internal Storage. One UI never supported it.
Click to expand...
Click to collapse
But that is adoptable storage. Adoptable storage formats and mounts the external sd card exactly like /data. At the end there is no more external storage. It's all internal and encrypted. Only readable in your device.
The other feature, I was talking of, is to install apps on external storage. Not formatted as internal and still removeable and readable in any device.
It's the same feature, App2SD. one depends on the other.. before Adoptable Storage it were stored in encrypted .asec containers (also ext4) in .android_secure directory on MicroSD Card, since Marshmallow it requires Adoptable Storage. you can also split, volume can partitioned in public, private or mixed mode.
Related
Hello everyone,
Whats is the difference between device memory and USB storage?
As far as i see all the apps installed on the Device memory and all the photos and other files are located on the USB storage.
I had "insufficient storage available" problem which I fixed by uninstalling apps and that cleared some space on "Device memory" which has only p1.97GB of space, and on the other hand "USB storage" has 11.50GB of sace.
Is there a way to install apps on the USB storage?
I tried apps2SD but i see its only for external SD card.
Thanks in advance.
Device memory is for your apps and system etc. Usb memory is the mass storage for all your pics and music and for whatever else your apps might need space for.
They are basically partitions and as far as I know, there is no (safe) way to change them.
Btw apps2sd is for moving apply data to an external memory card.
Sent from my GT-I9100 using Tapatalk 2
Device Memory is referring to the ~2GB system storage partition on the device, which is part of the total 16GB of internal storage. Another ~12GB is taken up by what's being referred to as USB Storage, and refers to another partition of the 16GB of internal storage. If you have an SD card, that'll be referred to as the External SD Card.
Your system storage ("Device Memory") is located at root /
USB Storage is located at /sdcard
If you have an SD card in your device, it'll be located at /emmc/
Please do note though that these locations may/probably do change between ROMs, and I only know for certain that these correct within CyanogenMod 9.
screamworks
screamworks said:
Device Memory is referring to the ~2GB system storage partition on the device, which is part of the total 16GB of internal storage. Another ~12GB is taken up by what's being referred to as USB Storage, and refers to another partition of the 16GB of internal storage. If you have an SD card, that'll be referred to as the External SD Card.
Your system storage ("Device Memory") is located at root /
USB Storage is located at /sdcard
If you have an SD card in your device, it'll be located at /emmc/
Please do note though that these locations may/probably do change between ROMs, and I only know for certain that these correct within CyanogenMod 9.
screamworks
Click to expand...
Click to collapse
Just FYI, external SD at /emmc is for AOSP/AOKP ROMs.
For Sammy stock ROMs, external SD will be at /mnt/sdcard/external_sd. (This is Samsung's brilliance. Not sure why they did this...)
ctomgee said:
Just FYI, external SD at /emmc is for AOSP/AOKP ROMs.
For Sammy stock ROMs, external SD will be at /mnt/sdcard/external_sd. (This is Samsung's brilliance. Not sure why they did this...)
Click to expand...
Click to collapse
Ah, thanks for that! If I'd given it more thought, I probably would have figured that out. But alas, brain is obviously not functioning. Cheers.
screamworks
Rizur said:
Device memory is for your apps and system etc. Usb memory is the mass storage for all your pics and music and for whatever else your apps might need space for.
They are basically partitions and as far as I know, there is no (safe) way to change them.
Btw apps2sd is for moving apply data to an external memory card.
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Why is it that when I take the option to move some apps that can be moved from device storage to USB storage I don't see the used space going any higher? please check out this image for an example. the figures don't seem to add up with the used figure against the apps with the ticks that have been moved to USB storage.
I still can't find an answer to issue raised here. How can I use USB storage instead of device memory?
how would i do this? can i do it from root explorer somehow?
Basically would like to sync my cloud files to my external storage (big) not my limited internal storage
I tried using link2sd and app2sd but I don't think they work on android 7.x as ti get java exception about external storage
Dont have nor do I want adoptive storage enabled, if that's possible (it ruins the sd card with all the read and writes)
My phone with Android O has an unfortunate partition table atm - large internal storage, small internal "sd" storage.
To my surprise, many apps insist to put their data on the sd parition like offline maps or email storage. So atm, half my internal storage is empty, and my sd is full :-\
All tools I have found move data/apps from the internal storage to the (external) sd card (apps2sd, link2sd, appmgr), and anything I have tried (Directory Bind, Folder Mount) aren't successful move-linking the "Android" folder on the sd to the internal storage. Moving and symlinking with the shell doesn't work either.
Question: Is there any app/way to make apps use the internal storage instread of the internal sd card (if they offer no config option)? Thanks!
.. Answering my own question:
After another day of fooling around I discovered that apps2sd "Folder Mount" tool can be mis-used to link external to internal with the "bind" option, even though it insists with a warning screen that this very thing shouldn't be done
I was using my 8gb sd card as adoptable sd card(formated as internal) but I replaced with 32gb card and formated new one as internal. Now when I tried to insert sd card in pc it doesn't shows any drive and 2 drive one approx 150mb other approx 7.5 gb is shown in disk management. Both are shown as 100% free. But I didn't formated the 8gb card on device nor on pc. Is there any way to recover the data from that card? I don't have the device right now. I sold it to someone else
@prashantvrm
The feature called Adoptable Storage allows the Android user to format an external storage media as permanent internal storage to be used with this specific Android device: Hereby Android formats and changes it’s FAT32 or exFAT format to ext4 or f2fs, it gets tied to this specific Android device. The key used to encrypt the data on the SD card is stored on the Android device’s internal memory.
So, it is not possible to mount the adopted storage to another device because of its encrypted nature.
jwoegerbauer said:
@prashantvrm
The feature called Adoptable Storage allows the Android user to format an external storage media as permanent internal storage to be used with this specific Android device: Hereby Android formats and changes it’s FAT32 or exFAT format to ext4 or f2fs, it gets tied to this specific Android device. The key used to encrypt the data on the SD card is stored on the Android device’s internal memory.
So, it is not possible to mount the adopted storage to another device because of its encrypted nature.
Click to expand...
Click to collapse
Consider this scenario:
SDcard1 was used in mobile as adoptable
Then it was removed from the device and card was not formated and no device reset.
Then card with high storage capacity was inserted and this new card got formatted as adaptable and but still no device reset.
Now I want to use the old card in this device. Will the device recognize it as it was used there before?
Adoptable storage is a nightmare as cards fail regularly, as you have found out. With an unencrypted SD card, you could run chkdsk in Windows to repair the card. The only thing I am unsure of is if there is an equivalent in Linux. If there is, the card which has an ext4 file system could possibly be repaired.
Try iBoysoft Data Recovery. If a file is a recognizable format, iBoysoft will find it and recover it. (And take days for a decent-sized card.) Instructions are at the software Step By Step. (If each file is encrypted, it may not find anything, but if the file structure is encrypted, iBoysoft never looks at the file structure except to see how large the clusters are - and it can work without that information.
I formatted an SD card as internal, then got suddenly corrupted..
the phone is not accepting any other card even with the same brand and capacity..
I bought new phone, and I need to transfer whatsapp chat that already on the old phone, but the internal storage isn't available.. google backup also says no internal storage found..
need help..
Personally don't think you can fix corrupted or not working SD-card formatted as internal storage ( Adoptable Storage ).
As soon as you format an SD-card to be used as internal memory ( Adoptable Storage ) it gets encrypted, the corresponding key gets stored in device's memory, means this SD-card furthermore only can be used on this device, it's not possible anymore to mount this SD-card to another Android device. Quite reverse your Android device refuses to accept any other SD-card.
IMHO Adoptable Storage is absolutely nightmare as card fail frequently, using this expanded storage often will corrupt your files.
MOD ACTION:
Thread closed as duplicate of THIS