In Android 4.4 "Kitkat" (API 19) Google has changed the default permissions for the external
SD Card (usually microSD). Since that Android OS version third-party apps have no more access to write on the SD Card. It's a bit problematic, because now you might not be able to use your favourite Files Manager to move or copy files on the external storage.
Some time ago I wrote a comprehensive guide about the differences between external storage (microSD Card), internal storage (virtual SD Card) as a part of the userdata partition and internal storage (virtual SD Card) as a separate eMMC partition - Virtual SD card on Android.
Now let's get back to our R/W (Read/Write) permission "problem" on the external storage. There are 3 things you need to know before going any further:
- This change was made by Google for a security reason. Keep that in mind!
- Root access is required to make proper changes on your device.
- This method might break OTA updates on your device if you're running stock operating system. I wrote "might" because this trick is based on modifying the /system/etc/permissions/platform.xml file, which isn't frequently updated by phone manufacturers, but most likely it will be updated when next major system update arrives (f.g. KitKat ---> Lollipop).
Procedure
Note: root required!
- Start up your device normally and wait for the system to be fully loaded.
- Open any files manager of your choice (Root Explorer, ES File Explorer, Total Commander) and make sure it runs with superuser permissions.
- Mount your system partition as R/W (Read/Write) to perform any changes.
- Navigate to the /system/etc/permissions/ folder and look for the platform.xml.
- Copy the platform.xml file into the same location as platform.xml.bak file.
- Open the platform.xml file with any text editor on your device and search for the following line:
- Now you need to add a 3rd GID (Group ID): <group gid="media_rw" /> and you need to make it looks exactly like on the picture below:
- Using Root Explorer or any other Files Manager of your choice make sure that the platform.xml file has proper permissions: Owner R-W | Group R | Others R (0644 rw-r--r--). You can also use adb shell to set permissions with a chmod 0644 /system/etc/permissions/platform.xml command.
- Reboot your device and enjoy!
- In case of problems with OTA update just remove modified platform.xml and rename platform.xml.bak to its original name.
<permission name="android.permission.WRITE_EXTERNAL_STORAGE">
It should look like on the picture below:
Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!
For latest news follow Android Revolution HD on popular social platforms:
thanks for sharing this beautiful blog
ReplyDeleteIt’s very nice. Congratulations.
ReplyDeleteThank you for the very useful information.
ReplyDeleteI really enjoyed its content. Thank you
ReplyDeleteVery good sharing thank u.
ReplyDelete