[Galaxy S III Q&A, Help & Troubleshooting] 65536:
Thanks! In my opinion, the SD card write restriction is one of the worst changes Google made in Android yet. And I see no reason to deny write access to SD cards, despite of supporting the sales of expensive phones with large internal storages:mad:.

Updates aren't a problem, the edited permissions stay in the file. I tried this.

The bigger issue that many apps no longer try writing to the SD card at all., because they expect it to be not writeable. The current version of Adobe Reader, for example, wants to create a local copy of the file when one opens a PDF from the SD card.

If one clicks a PDF in the file manager and opens it with Adobe Reader, when being granted the WRITE_MEDIA_STORAGE permission, Adobe Reader can read and write the file without problems.

I suspect that more and more apps will behave like this.

I'll see what I can do;).

1.) Yes, the line is needed for each app which should get write access to the SD card.

2.) Since the file is pretty large, I used adb pull to copy it on my PC, edit it there, and write it back with adb push.

I would recommend to check and maybe change the permissions of the file after editing: For me, originally it had permissions 600 (rw-------), and system as owner and group.

Pushing it back via adb changed the permissions to 660, and owner + group to root. It worked fine with these settings too, but so be safe I recommend setting the permissions to their original values after editing.

3. VR.gtmini already posted it, but maybe I will go a bit more into detail:

In the packages.xml file, there is a section for each package installed. For Clementine remote, it looks like this:

<package name="de.qspool.clementineremote" codePath="/data/app/de.qspool.clementineremote-1" nativeLibraryPath="/data/app/de.qspool.clementineremote-1/lib" publicFlags="941145668" privateFlags="0" ft="15452d991d8" it="15452d9a038" ut="15452d9a038" version="479" userId="10101" installer="com.android.vending">
<sigs count="1">
<cert index="30" key="308201b53082011e..." />
</sigs>
<perms>
<item name="android.permission.CHANGE_WIFI_MULTICAST_STATE" granted="true" flags="0" />
<item name="android.permission.INTERNET" granted="true" flags="0" />
<item name="com.android.vending.BILLING" granted="true" flags="0" />
<item name="android.permission.READ_EXTERNAL_STORAGE" granted="true" flags="0" />
<item name="android.permission.READ_PHONE_STATE" granted="true" flags="0" />
<item name="android.permission.ACCESS_NETWORK_STATE" granted="true" flags="0" />
<item name="android.permission.WRITE_EXTERNAL_STORAGE" granted="true" flags="0" />
<item name="android.permission.ACCESS_WIFI_STATE" granted="true" flags="0" />
<item name="android.permission.WAKE_LOCK" granted="true" flags="0" />
</perms>
<proper-signing-keyset identifier="64" />
</package>

One does only have to add the line

<item name="android.permission.WRITE_MEDIA_STORAGE" granted="true" flags="0" />

somewhere between the <perms> and the </perms> tag. If one just puts it in between two other permission lines, there is little one can do wrong ;). I'm quite sure that the order of the permissions doesn't matter.

And after editing + saving, a reboot is needed.

Good to know!