Strange behavior whenever I do a external SD Card operation. - P8lite Q&A, Help & Troubleshooting

If I want to copy files, create a folder, save a picture on external SD, every time, some pop-ups like this appear, asking me to select the root of the SD. I can see this is a extra protection, but i want to know more. What kind of protection is it, how can it be controlled, disabled... because many times it actually cause problems.
What is weird (I haven't seen this before on other phones) is the structure of the storage folder. I have inside 4 folders:
emulated
sdcard0
sdcard1
usbotg
In "emulated" is a folder called "0" (zero) that seems to mirror everything that is in "sdcard0" folder.
Phone specs:
P8Lite ALE-L21 Rooted, converted to Dual SIM (B190)
Please see attached images for details of the popup.

it's there so the user can select the permission that an app has to the SD card.
For the weird structure... SDcard 0 is your phones intern memory sdcard 1 is you phones sd card
those other 2 are (and i think, i don't know for sure) just needed for android.
if you go to settings -> advaced-> memory in android 6.0 you can select the card as internal memory. this shoul take care of the permissions and should let memory be catogorized as one partition.

Lordbannakaffalatta said:
it's there so the user can select the permission that an app has to the SD card.
For the weird structure... SDcard 0 is your phones intern memory sdcard 1 is you phones sd card
those other 2 are (and i think, i don't know for sure) just needed for android.
if you go to settings -> advaced-> memory in android 6.0 you can select the card as internal memory. this shoul take care of the permissions and should let memory be catogorized as one partition.
Click to expand...
Click to collapse
I should have mentioned: Android 5.0.1 (not 6)
And is it there a way to disable this feature? As I said, on many occasions it causes trouble by not allowing a operation to perform properly. I suspect this feature has its own bugs too.
Thanks.

derei said:
I should have mentioned: Android 5.0.1 (not 6)
And is it there a way to disable this feature? As I said, on many occasions it causes trouble by not allowing a operation to perform properly. I suspect this feature has its own bugs too.
Thanks.
Click to expand...
Click to collapse
actually it's the same.
it's not a bug it's a feature
in kitkat we had the problem of restriction for the sd card. google changed that into this mode.
where the user grants the permissions. you can disble that the same way as android 6.0
by setiing the default storage location to sd card
in android 5.1 its settings -> memory -> default storage-> sd

Related

SD Card File Disappearing

My application has a backup/restore feature that writes a csv file to a directory named after the app, in the root of the sd card. I have a user trying to move from one tablet to another. The backup feature appears to properly be creating the backup file on her SD card. When she places the SD card in her new tablet, the backup file and the directory it's stored in do not appear to be on the SD card at all. Apparently she was successful in having other data from other apps move over.
I've walked her through everything I can think, including writing a test app to verify the issue. Without a doubt, the files exist on the old device, but don't exist when installed in the new device.
I'm unsure what the original device is, but the new device is a Dell Streak 7.
Anyone seen this before? I'm leaning towards corrupt SD card, but it seems it's my burden to prove as my app is the only app she's having issues with.
The root of /sdcard is not necesarrily the SDCARD you can remove and take out.
/sdcard is usually part of the build in memory which can be accessed and used by the user.
The SDCARD you can remove is usually found at /sdcard/external_sd on Android 2.2 devices and /sdcard/sd on Android 2.1 devices.
Yes the naming is a bit confusing .
Dark3n said:
The root of /sdcard is not necesarrily the SDCARD you can remove and take out.
/sdcard is usually part of the build in memory which can be accessed and used by the user.
The SDCARD you can remove is usually found at /sdcard/external_sd on Android 2.2 devices and /sdcard/sd on Android 2.1 devices.
Yes the naming is a bit confusing .
Click to expand...
Click to collapse
That would certainly explain some things, especially if a user is moving a SD card from one device to the next.
My app creates a folder under the path returned by the Environment.getExternalStorageDirectory() function, where it creates and reads a backup file.
My documentation asks users to connect their device to a computer, mount as USB, and copy the backup file into that directory. This user is simply moving the SD card between devices. I'm wondering if there is a better method than using the getExternalStorageDirectory that I can use, so that I can have a common location on all SD cards to facilitate users moving cards between devices.
wct097 said:
My documentation asks users to connect their device to a computer, mount as USB, and copy the backup file into that directory. This user is simply moving the SD card between devices. I'm wondering if there is a better method than using the getExternalStorageDirectory that I can use, so that I can have a common location on all SD cards to facilitate users moving cards between devices.
Click to expand...
Click to collapse
Well it depends on the device what happens if they mount as usb,
if they get the internal sdcard or the external sdcard or both.
On my galaxy i9000, both the internal(/sdcard/) and external (/sdcard/external_sd) are shown when pluging it into my computer and mounting it as usb.
Environment.getExternalStorageDirectory() will always return the path of the users storage enviroment which is in usually /sdcard . Thats fine so far.
The problem is there is no function to get the external storage (/sdcard/external_sd or /sdcard/sd).
The only option i know atm, would be to probe manually if such a directory exists. You can use Build.VERSION.SDK_INT to see which android the user has and check the right directory.
Build.VERSION.SDK_INT <= 7 would mean if he has plugged in an external sdcard it would be mounted under
Environment.getExternalStorageDirectory().getAbsolutePath() + "/sd/"
Build.VERSION.SDK_INT >=8 would be
Environment.getExternalStorageDirectory().getAbsolutePath() + "/external_sd/"
You could use that and maybe a "import backup" function to check for the file on an external sdcard?

obb files to external

I did search and with the google searches I've done, can't really figure it out so thought might ask here.
When I moved applications to external sd card, i didn't realize it didn't move the application data itself (inside obb folder), which is in the android device's internal memory. So basically, I have the application (i guess equivalent to .exe for windows) on the external sd card, but the beef of it (the applicatin's data) is still on the internal memory and using up the device's memory....how can I move the data (obb folder) to external, remove it from interernal to free up space, and have it boot up / work on the android device?
i'm not advance geek so need a dummy explination
You didn't provide details of how you moved the app or even what app we are talking about. So it's impossible to give targeted advice. Which is unfortunate since you want a dumbed down, simple answer. Which can't be done without knowing those crucial details.
You can use one of the Play store apps to move the app. I'm sure that some of them would move the app data as well. Or change the app data path (folder) in the app's settings. Or reinstall the app. Or alias the current internal data location to the external card with a symbolic link. Or any number of other ways.
The simplest options there would be trying some of the Play store apps that assist in moving programs to the external data card. And if that doesn't work for some reason, then reinstall your app.
Good luck.
.
fffft said:
You didn't provide details of how you moved the app or even what app we are talking about. So it's impossible to give targeted advice. Which is unfortunate since you want a dumbed down, simple answer. Which can't be done without knowing those crucial details.
You can use one of the Play store apps to move the app. I'm sure that some of them would move the app data as well. Or change the app data path (folder) in the app's settings. Or reinstall the app. Or alias the current internal data location to the external card with a symbolic link. Or any number of other ways.
The simplest options there would be trying some of the Play store apps that assist in moving programs to the external data card. And if that doesn't work for some reason, then reinstall your app.
Good luck.
.
Click to expand...
Click to collapse
Only thing I've done was root it then moved the application (move to sd card) via settings >> Application Manager. i want to do it for all apps but it's mainly due to games taking up lots of space. Reinstallng won't help cause everything that's obb just direct itsself to the internal storage, nothing i installed even gives me the option to install data into external, just only has a install button and it installs to internal memory
I'm not going to sort all of that out. It can be done if you look into the details.
The best advice that I can offer is to consider installing a custom S5 ROM like Phoenix. It has a setup option to swap the SD cards. That would mean that all of your apps that automatically install and live on the internal memory.. would actually end up on the external card. And it works perfectly.. because the apps think that they are on the internal card even though they aren't.
The source script could also be applied to your existing configuration, but doing so would not fit inside your stipulation for a simple answer.
.
by the way...
fffft said:
I'm not going to sort all of that out. It can be done if you look into the details.
The best advice that I can offer is to consider installing a custom S5 ROM like Phoenix. It has a setup option to swap the SD cards. That would mean that all of your apps that automatically install and live on the internal memory.. would actually end up on the external card. And it works perfectly.. because the apps think that they are on the internal card even though they aren't.
The source script could also be applied to your existing configuration, but doing so would not fit inside your stipulation for a simple answer.
.
Click to expand...
Click to collapse
fffft, one question here: Would it be possible to format the whole external SD card with ext4? So it would be quite simple to copy such files manually within a shell and set a softlink to the moved files? I don't understand why android stays with that fat drived file systems were softlinks are not working. Is there any reason for? So all data2SD apps have to work with specific *mounts*. I can't believe that this is fast and stable.
brachypelma said:
fffft, one question here: Would it be possible to format the whole external SD card with ext4? So it would be quite simple to copy such files manually within a shell and set a softlink to the moved files?
Click to expand...
Click to collapse
That won't work unless you do a lot more prep work. The file system isn't invisible, the OS would have to interact differently with ext4 than ExFAT. The OS would balk the first time it tried to follow a symbolic link and didn't find the ExFAT structure it expects.
To make that work, you'd need to mount the card yourself, manage permissions and hide the file attributes i.e. permissions from the void manager and other housekeeping tasks. Android expects to find a case insensitive and permissionless FS. Otherwise, void will report errors to the volume manager and the OS won't recognize your card. All of which is to say that this is a more distant outlier to the requirement for a simple solution. So you'd be generating fatal errors the first time the OS tried to follow a symbolic link to your ext4 files.
So yeah you can shoehorn an ext4 card into the system with enough work. But it isn't as simple as you believe. So back to my suggestions that the OP either install a custom ROM that does what he wants or that he looks at the script that I linked him to. Or perhaps migrate to CM 11, where native support for ext4 and NTFS have been added.
.

Apps write on internal SD-Card only even with Android 4.4 SD-Fix

I slowly look there no longer. I have rooted my S3 Neo initially quite normal and provided with CWM as it has been explained in various tutorials. Then I fixed the Android 4.4 write access issue with the "NextApp SDFix" from Android market. With the "ES File Explorer" and "Total Commander" I could normally rename files on the SD card, copy and move.
However, to me the practical effect is associated with all apps, which store data automatically on the SD card very mysterious, because instead of the SD card, they will continue stored internally namely in "/storage/Emulated/0". I tested this with "Dead Trigger 2", which is usually stores the game data in "Android/OBB". In Application Manager I have the opportunity the app to move itself to the correct SD card (.android_secure directory), but just the app itself and not the game data wich stay in the internal, emulated SD-Card.
For my previous smartphone, an Ace 2 NFC (I8160P) there was a fix for it to fit the "vold.fstab" to file: http://forum.xda-developers.com/showthread.php?p=28419837#post28419837
I could find only a tutorial changing the internal memory with the real SD-Card for the normal S3, which, however, is probably not compatible with the S3 Neo: http://android-hilfe.digidip.net/visit?url=http://forum.xda-developers.com/showthread.php?t=2036796 - Or should I try it so anyway?
At first the question: Why the Kitkat-Fix is ​​at all useful, if it does not help in practice and the data continues to be stored internally? The only thing that has been directly accessed files to the correct SD card was the photo app but that's about it.
Update: I just see that it also provides an Android folder on the right SD card as well as in the emulated and actually reside in folders and the installed apps, including "Dead Trigger 2". However, the folder unlike emulated SD card are completely empty. What does that have to mean again?
I hope somebody can help me ans find a solution as I can't use my external SD-Card for most game datas or apps as planned or I will send back my S3 Neo tomorrow.
PLEASE!!! Can somebody help me???
do you use xposed? there are a couple of modules that allows you to use obb files from sdcard. Personally i use "xinternal". those ps apps never worked for me also.
Use Folder Mount
I use a xposed module called "HandleExternalStorage" and it works like a charm! Try it yourself!
Good luck

Set external SD card to default install location [HELP]

Hi, my problem is with the phone of my girlfriend. Now have external 64GB SD, because internal storage is full. I used Android SDK and all the instructions for set default storage for install APP the new SD Card, you know, with the command adb shell pm set-install-location 2. And no error, i try get-install-location and report 2. But googe play only try to install in the internal storage.
I think the problem is with the system of the emulated storaged or something, but i tried many APP, many solutions, and i cant fix this, i search in google and others locations, have 30 tabs in firefox open with information, but i cant found the solution for this
Samsung Galaxy NOTE 4 (910F)
Android 5.1.1 (Of samsung of course)
Rooted
The vold.stab is:
dev_mount sdcard /storage/sdcard1 auto /devices/msm_sdcc.2/mmc_host
PLEASE, help me! thanks
I tried dismounting and mounting the SD, touching the vold.stab file, but do not get any results.
Can anybody help me?
Go back to stock, upgrade to 6.0.1. Then see if this helps-
http://www.modaco.com/news/android/...e-adoptable-storage-on-your-s7-s7-edge-r1632/
The article is for S7, but see if you can have that working in the N4 - just have a backup of everything (int SD, ext SD, full backup in recovery).
ph03n!x said:
Go back to stock, upgrade to 6.0.1. Then see if this helps-
The article is for S7, but see if you can have that working in the N4 - just have a backup of everything (int SD, ext SD, full backup in recovery).
Click to expand...
Click to collapse
Thanks, for the moment 6.0.1 is not released in Orange (confirmation date has passed and still not have it, I assume that is in the offing). When have 6.0.1 i try you solution, thanks.
ph03n!x said:
Go back to stock, upgrade to 6.0.1. Then see if this helps-
http://www.modaco.com/news/android/...e-adoptable-storage-on-your-s7-s7-edge-r1632/
The article is for S7, but see if you can have that working in the N4 - just have a backup of everything (int SD, ext SD, full backup in recovery).
Click to expand...
Click to collapse
I tried this in my phone. While the command itself worked after a bit of a tweak, the storage situation was pathetic - the phone showed the External SD as a part of the overall storage, but did not save files to it. Instead, it started saving files to the actual internal SD Card, resulting in space running out pretty soon. The External SD card was just there, and there was no way to migrate the files from the internal storage to the adoptable storage.
I just got a new Note 4 (this is the 3rd one I'm using since the first release in 2014) and I also want to adopt external memory card as my internal space bcos the 16Gg duos version is just too small and app to SD comes with a lot of hassles. After a lot of search for different solutions (which I tried out by the way but didn't work) I came across this thread for another phone entirely but it resolved my issue: https://forum.xda-developers.com/galaxy-tab-s/general/patch-adoptable-storage-enabler-t3460478.
The only downside is that I can't pop out my card (128Gg Samsung) and plug into my PC but I can still explore it directly from the phone itself.
I've been using the phone for 3 days and it runs smoothly, I hope that solves your problem too.
So there are two parts to the adoptable storage. The first part is the partitioned SD card and mounting the partition. Simple to be done via root essentials or the command line.
The other part is the actual menu entry on an app in application manager for moving it to the second partition. IIRC samsung does not have this support built in. So you need to flash something to replace that manager bit. In my experience with an on5 (like less than 1GB free on internal storage out of the box), adoptable wasn't really worth it, too much stuff still on internal storage. As not every app will allow you to move it to that second partition. It requires both system support and app support.
What I did there was to use the app apps2sd. Same idea, second partition on SD card. But it doesn't show up in settings -> storage. You manage where the apps go via that app. I use the link feature which places a symbolic link in the internal storage and moves all the actual files to that sd card partition.
Will Rickards said:
So there are two parts to the adoptable storage. The first part is the partitioned SD card and mounting the partition. Simple to be done via root essentials or the command line.
The other part is the actual menu entry on an app in application manager for moving it to the second partition. IIRC samsung does not have this support built in. So you need to flash something to replace that manager bit. In my experience with an on5 (like less than 1GB free on internal storage out of the box), adoptable wasn't really worth it, too much stuff still on internal storage. As not every app will allow you to move it to that second partition. It requires both system support and app support.
What I did there was to use the app apps2sd. Same idea, second partition on SD card. But it doesn't show up in settings -> storage. You manage where the apps go via that app. I use the link feature which places a symbolic link in the internal storage and moves all the actual files to that sd card partition.
Click to expand...
Click to collapse
I've been using apps2sd fot about a year and it comes with it headache too, sometimes the apps wouldn't find the external data (usually games with a lot of data) and it'll start downloading it again into the internal memory, so I usually find myself having to force stop the app, delink and relink the data on the memory card to fix the bind. I also didn't bother to partition my SD card since I can explore it on the PC with my phone connected. What this solution ( https://forum.xda-developers.com/galaxy-tab-s/general/patch-adoptable-storage-enabler-t3460478 ) does is to flash back the option to use the SD card as internal memory that Samsung removed from the phones and it works seamlessly on all Samsung phones with rooted stock OS.

I can't properly write on my SD

Ok, I have had many phones and this problem is a little bit weird for me.
I'm using Poweramp as my daily driver for music. I tried deleting some songs I stored on my SD and it said my files were write protected. I then used Root Browser just to see, that most of my music and photos I have on my SD card were not located in /sdcard but in /storage/57EF-B920, a directory I never created. When I put the SD card into my PC, I can see all my files normally and r/w without any issues.
I figured I could only alter files using the stock file browser and gallery app, but why? And why are my SD card stored media files showing up in /storage/57EF-B920 instead of their actual path? Is that a security feature?
My phone is 100% stock and not rooted.
Thanks for your help!
This is how it has always been on MM. The days of /sdcard, or /storage/extSDcard for your external SD card folder are long gone with LP/KK/JB I'm afraid.
The directory for external sd is unique to your SD card. Put in another SD card, and a new directory name will get generated for it, and it alone.
The ability for an app to write to SD card is down to the app's developer. It will need to have the updated methods that MM uses. Usually, if an app can write correctly, it will prompt you to browse to the root of your external sd card the first time it attempts to access it. Even then, some apps may need extra tweaking. Titanium Backup for example requires the storage type for the external SD card to be changed to Document Storage/Provider in its settings. I used to use Nandroid Manager on my rooted S4 on CM MM, and this could never update external SD card....I had to use Root Explorer to delete/rename my TWRP backups.
You can also double check specific apps for permission through Application Manager.
Go into the specific app in application manager, click on Permissions, and make sure Storage is turned on.
Even when turned on, some apps might still fail, as I've explained.
hawkerpaul said:
This is how it has always been on MM. The days of /sdcard, or /storage/extSDcard for your external SD card folder are long gone with LP/KK/JB I'm afraid.
The directory for external sd is unique to your SD card. Put in another SD card, and a new directory name will get generated for it, and it alone.
The ability for an app to write to SD card is down to the app's developer. It will need to have the updated methods that MM uses. Usually, if an app can write correctly, it will prompt you to browse to the root of your external sd card the first time it attempts to access it. Even then, some apps may need extra tweaking. Titanium Backup for example requires the storage type for the external SD card to be changed to Document Storage/Provider in its settings. I used to use Nandroid Manager on my rooted S4 on CM MM, and this could never update external SD card....I had to use Root Explorer to delete/rename my TWRP backups.
You can also double check specific apps for permission through Application Manager.
Go into the specific app in application manager, click on Permissions, and make sure Storage is turned on.
Even when turned on, some apps might still fail, as I've explained.
Click to expand...
Click to collapse
Sorry for the late reply, but thanks for the explanation! So it's because how MM works vs how Lollipop did and Poweramp not being uptodate with that? I'll try out the permission thing and even if I fail, it's good to know why it won't work. Thank for your help!

Categories

Resources