Permission to write to the root of the sd card on Android 4.4+

Today: 16.10.2019, Wednesday

It's no secret that the Android operating system is widespread in the mobile world.

Google Protection for Android OS

Such a widespread use of the brainchild from Google provokes an increase in the number of hacker attacks on this platform. In order to combat this unpleasant moment, the IT giant is trying to introduce new features aimed at improving the security of owners of devices with the Android system, but some of these functions may be a source of additional inconvenience. How to eliminate one of these inconveniences, and will be discussed below

Memory card access restriction

On the pages of our site we have already dealt with the issue of the memory of the mobile operating system. Many users of smartphones based on Android versions 4.4 and older are faced with a situation where third-party programs do not have access to the root of the memory card. Moreover, this problem arises in those who purchased a new device already with Android KitKat and higher on board, and those who upgraded to the new system after purchase.

Why Android programs do not have access to the root of the sd card?
The fact is that open access to the root of the drive is a big security hole in the entire operating system. Making attempts to protect users from intruders, Google has taken such a step as restricting access to the memory card.

In simple terms, in many Android 4.4 and higher firmware, third-party programs can no longer write data to the root of the memory card. The ability to write to the catalogs located on the flash card is preserved. The situation is aggravated by the fact that this restriction has affected all applications, without exception, including file managers.

Not everyone is happy with this state of affairs, so below we will look at how to return access to the root of a memory card to third-party programs.

SDFix program from the company NextApp

Immediately, we note that to solve the problem, we need the user to have root-rights in the Android system. On our site we have already dealt with this definition. Below is a short excerpt:

root is superuser rights on UNIX-like systems. To be more precise, root - is an account whose owner has privileged access rights and file system changes

So, we, in fact, have two options:

  • software (in automatic mode);
  • manual (editing system files).

To use the software method, we need to download the application SDFix: KitKat Writable MicroSD from NextApp from the Google Play store or from the file attached to this article: nextapp.sdfix

Install the program and run it, giving permission for root access

Running SDFix on Android

We agree to make changes and click on the button Continue
After some waiting, the program will display a message about the successful completion of the operation

Performing SDFix program for Android

In addition, before making changes, the SDFix program creates a backup copy of the editable files, which is saved along the path

/system/etc/permissions/platform.xml.original-pre-sdfix

If necessary, we can always restore the source file by first deleting the .original-pre-sdfix ending in its name. Replacing the file is made by analogy with its change, this process is described below.

Manual provision of access to the memory card on Android

Troubleshooting recording to an external SD card in Android 4.4+ is also possible in manual mode.
It should be understood that the aforementioned SDFix program only performs one function, which can be completely reproduced independently.

Moreover, if the program in the course of work gives an error, then doing the same operation manually may well be crowned with success.

Here is a step-by-step instruction on editing the platform.xml file.

  1. We make a backup system of the smartphone. We need backup for the possibility of rollback in case of unforeseen circumstances and failures. You can simply make a copy of the file that we are going to edit, but it will be safer to make a full backup of the system from recovery
    Backup Android system from recovery
  2. Now we run any file manager for Android, let's say it will be Total Commander
    Directory /system/etc/permissions/ on Android
  3. Go to the directory
    /system/etc/permissions/
  4. Copy the platform.xml file from the directory to any convenient place
  5. Open the created file with a text editor to make changes
    Editing the platform.xml file
  6. Find in the file a piece of code that looks like:
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE">
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    </permission>
  7. And before the closing tag we write the following line:
    <group gid="media_rw" />

    As a result, we should have the following code fragment:

    <permission name="android.permission.WRITE_EXTERNAL_STORAGE">
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
    </permission>
  8. Save changes
  9. Copy the edited file back to the /system/etc/permissions/ folder, agreeing to replace (that is, when prompted, click Rewrite)
  10. Now in the properties of the file we set the rights to it rw-r--r-- (the code corresponding to this setting is 0644)
    Setting permissions on files in Android
  11. Reboot the device.

That's all. After your device has booted, third-party applications will be able to write their data to the root of our flash card.

We have provided access to the root of the memory card Android programs.

Full of rights and unlimited opportunities.



Leave a Reply