Kitkat (Android 4.4) Issue: Can't Write to External SD Card and Solution



When Google released KitKat (Android 4.4), they specified that applications you download can no longer write to user-installed Micro SD card (external storage). Apps can still write to internal flash storage. Some devices (like Google Nexus devices) only have internal storage, and are unaffected. Other devices (e.g. Samsung Galaxy and Note devices) have the ability to expand their storage space by installing a Micro SD card. When KitKat is installed on such devices, apps are limited to only being able to manipulate files on the internal storage, with write-access to the Micro SD card being restricted.



This change represents a removal of functionality compared with Jelly Bean (Android 4.3). 4.3 allowed apps to write to the Micro SD card, as did prior versions.
In basic terms, when you upgrade to KitKat, third-party apps will no longer be able to write to Micro SD card.

It simply means that KitKat does not allow apps to write/move data on the Micro SD cards on devices that support expandable storage. If you install too many apps, your mobile device’s internal storage might fall short as all app data will be stored to it.

What this means in practice is that, for example, you will not be able to use a third-party file manager app to copy files onto your Micro SD card over a network. Another example is that you currently cannot use the TomTom app to download your maps to the Micro SD card if you are on KitKat.

Only first party apps are able to write to the SD card, which is why the My Files app will still work on Samsung Mobile Devices running KitKat. Third-party developers can get round the issue by creating a dedicated private folder on the SD card which the app can write to. A problem with going down this route though is that all data written to these private folders will be deleted as soon as the app is uninstalled.

For security reason, Google removed the write access to the external SD card by apps. They made this move to stops apps from dumping files everywhere on the card.

Method 1: Bypass KitKat (Android 4.4) external SD write restrictions without root

On kitkat and superior each application have only one place where you don't need root permissions to write on an external storage, the app-private folder assigned by the system "/Android/data//files". The rest of the SD card is read-only.

Example:


ES File Explorer File Manager

Get the package-name of your app you want to have the ability to save to the sdcard with the package-name viewer. Then create a directory using ES File Explorer (or anything) with that package name in SD card.

For example, to have free reign with ES File Explorer, create the directory:
/Android/data/com.estrongs.android.pop/
And then ES File Explorer can read/write/delete anything in that subdirectory.

Method 2: App Solution
Please do note that this app does need root permissions.


SDFix: KitKat Writable MicroSD

As you know, Android is a world of possibilities. If you have obtained root access on your mobile device and use an app such as SDFix: KitKat Writable MicroSD. This app will modify the configuration file located at /system/etc/permissions/platform.xml to allow apps to write to the Micro SD card. Specifically, this app will add the Android UNIX group "media_rw" to the WRITE_EXTERNAL_STORAGE permission's configuration. This will enable apps (only those that you granted write access permissions to when you installed them) to write files to the Micro SD card. On many devices, this is effectively reverting the state of this permission back to the way it was configured in Jelly Bean (Android 4.3).

You can download the app from Play Store

After that, launch the app and follow the onscreen instructions to solve your problem.



Method 3: Manual Solution
Please make sure your Android device is rooted. Editing the permissions file manually.


Using a file explorer with root access capabilities like Root Explorer.

Step 1:
Navigate to the following file:
/system/etc/permissions/platform.xml
Make sure you have r/w access.

Step 2:
Tap and hold the platform.xml file and select Edit option.

Step 3:
Find “android.permission.WRITE_EXTERNAL_STORAGE” and “android.permission.WRITE_MEDIA_STORAGE” lines.
These are XML sections. You need to make them look exactly like the strings below:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE">
  <group gid="sdcard_r"/>
  <group gid="sdcard_rw"/>
  <group gid="media_rw"/>
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE">
  <group gid="sdcard_rw"/>
  <group gid="media_rw"/>
</permission>

Step 4:
Save the platform.xml file. It’s necessary to set the file permissions to 644 (rw-/r–/r–) before your Android device restarting. Now reboot your Android device. You are done.

Method 4: Using Xposed framework with HandleExternalStorage module

Please note that you need root permissions to install Xposed.

If you do not have Xposed framework yet, download it from here and install the apk. After that, install the framework from inside the app and reboot.


HandleExternalStorage

Once you have Xposed, You can download this app from Play Store

Or from the ‘Download’ section within the Xposed installer app

This module has no user interface. Just enable it in the ‘Modules’ section in Xposed and reboot.

You are done!

Method 5: Using a custom ROM

If none of the above methods work, then we are really sorry that you are out of luck with the stock firmware.

We suggest you to try a custom ROM / firmware like CyanogenMod 11, AOKP, SlimKat or CarbonROM which already has the permission problem patched.

Conclusion

So, even though most Mobile Devices offering Micro SD memory card support, it looks more and more that the only use for these cards will be to store photos and media. We don’t see Google changing its stance anytime soon, so we really hope that Mobile Device Manufacturers start increasing storage space. Mobile Devices in particular should be running a minimum of 32GB in our view, especially with app/game sizes getting bigger all the time.

Post a Comment Blogger Disqus

  1. I have tried many techniques to move my applications to SD card but non of them worked for me. I Just want to know what happens if I move the app data from the internal memory to the SD card, will my applications still work?

    ReplyDelete
  2. Thank you very much for your ES file explorer tip. It has been of huge help!

    ReplyDelete
    Replies
    1. Ohh it ended up not working. :'D But thanks anyway!

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thank you for the post. I am really frustrated. This SD restriction from Google is the most stupid stunt ever. My 64 GB card is useless now thanks to Google. I hope they all go to hell. What a crap of thing they've made. I should do with my SD card what I the hell want. Screw them all. Nevertheless I thank this post because at least it has helped me.

    ReplyDelete
  5. Thank you for the post. I am really frustrated. This SD restriction from Google is the most stupid stunt ever. My 64 GB card is useless now thanks to Google. I hope they all go to hell. What a crap of thing they've made. I should do with my SD card what I the hell want. Screw them all. Nevertheless I thank this post because at least it has helped me.

    ReplyDelete

Contact Form

Name

Email *

Message *

 
Top