[TUTORIAL] How to write/copy/download to the external sd card

Search This thread

_eroz

Senior Member
Oct 22, 2011
476
122
Brookfield, IL
First of all, I would like to thank poolmaker who had a tutorial over at the Xperia Z1 forum. So go on over and give him thanks!


First you must be rooted. Second must have a file explorer. I personally use ES File Explorer so the steps below will be covering that file explorer.

  1. Open ES File Explorer.
  2. Open the Tools Menu.
  3. Make sure Root Explorer is turned on and long press over the name "Root Explorer".
  4. A sub-menu pops up, select Mount R/W. (if you don't do this the changes you make will not stick.) The next menu that pops up, you want to make /system RW by selecting the radio button.
  5. You then want to navigate to /system/etc/permissions.
  6. Scroll down and find platform.xml and make a copy of it and save it somewhere.
  7. Open the original file with ES Note Editor and then press the menu (the 3 vertical dots) to edit.
  8. Make the following changes
    <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>
  9. Save the changes you make.
  10. Before you exit, check the permissions of the edited platform.xml. They should be (rw-/r–/r–).
  11. Reboot your phone and enjoy being able to download/write/copy to your external SD card again. :D
 

_eroz

Senior Member
Oct 22, 2011
476
122
Brookfield, IL

MIKE PH

Senior Member
Mar 3, 2012
155
31
Please help. Can anyone give me a copy of their original platform.xml? Seems like I messed up mine. Can't find my back up. Help would be greatly appreciated. Thanks in advance.
 

Tigerjk1410

Member
Jan 18, 2008
12
0
I followed the steps in the first post and after I rebooted, messages keep popping up saying this and that failed to start and now I can't even use the phone because they pop up every 3 seconds.. I also can't see any files through a file browser or on the computer. I have a copy of my platform file on the phone but no way to get to it because no files show up in the file explorer. Any ideas? My phone is basically useless right now.
 
Jul 19, 2014
2,575
1,881
Chicopee
I am so sorry for what is most likely a stupid question, but what is advantage of this? Does this address the issue of 4.4.x where we can't store our app data on our micro sd cards? Thanks in the advance for the help
 

ParrSt

Senior Member
Apr 23, 2011
247
13
Euless
What is the purpose of the mount r/w option?

I think I understand this but when I selected Root on, I was able to copy and overwrite and rename system files like SystemUI.apk. I did not have mount RW for the /system folder. So what exactly does the mounting do?

Bob
 

_eroz

Senior Member
Oct 22, 2011
476
122
Brookfield, IL
it's a kind of magic :eek:
still doesn't work. i will flash another rom

That's weird. It's working for me. Hopefully this works for you. Just copy and paste into Notepad++ or equivalent and name it platform.xml I've also attached it, just remove the .txt extension.

Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
     Copyright (C) 2013 Broadcom Corporation
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- This file is used to define the mappings between lower-level system
     user and group IDs and the higher-level permission names managed
     by the platform.

     Be VERY careful when editing this file!  Mistakes made here can open
     big security holes.
-->
<permissions>

    <!-- ================================================================== -->
    <!-- ================================================================== -->
    <!-- ================================================================== -->

    <!-- The following tags are associating low-level group IDs with
         permission names.  By specifying such a mapping, you are saying
         that any application process granted the given permission will
         also be running with the given group ID attached to its process,
         so it can perform any filesystem (read, write, execute) operations
         allowed for that group. -->

    <permission name="android.permission.BLUETOOTH_ADMIN" >
        <group gid="net_bt_admin" />
    </permission>

    <permission name="android.permission.BLUETOOTH" >
        <group gid="net_bt" />
    </permission>

    <permission name="android.permission.BLUETOOTH_STACK" >
        <group gid="net_bt_stack" />
    </permission>

    <permission name="android.permission.NET_TUNNELING" >
        <group gid="vpn" />
    </permission>

    <permission name="android.permission.SYSTEM_GROUP_INTERNAL" >
        <group gid="system" />
    </permission>

    <permission name="android.permission.INTERNET" >
        <group gid="inet" />
    </permission>

    <permission name="com.sec.android.permission.CAMERA" >
        <group gid="camera" />
    </permission>

    <permission name="android.permission.READ_LOGS" >
        <group gid="log" />
    </permission>

    <permission name="android.permission.READ_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
    </permission>

    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
    </permission>

    <permission name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
        <group gid="sdcard_all" />
    </permission>

    <permission name="android.permission.WRITE_MEDIA_STORAGE" >
        <group gid="media_rw" />
    </permission>

    <permission name="android.permission.ACCESS_MTP" >
        <group gid="mtp" />
    </permission>

    <permission name="android.permission.NET_ADMIN" >
        <group gid="net_admin" />
    </permission>

    <!-- The group that /cache belongs to, linked to the permission
         set on the applications that can access /cache -->
    <permission name="android.permission.ACCESS_CACHE_FILESYSTEM" >
        <group gid="cache" />
    </permission>

    <!-- RW permissions to any system resources owned by group 'diag'.
         This is for carrier and manufacture diagnostics tools that must be
         installable from the framework. Be careful. -->
    <permission name="android.permission.DIAGNOSTIC" >
        <group gid="input" />
        <group gid="diag" />
    </permission>

    <!-- Group that can read detailed network usage statistics -->
    <permission name="android.permission.READ_NETWORK_USAGE_HISTORY">
        <group gid="net_bw_stats" />
    </permission>

    <!-- Group that can modify how network statistics are accounted -->
    <permission name="android.permission.MODIFY_NETWORK_ACCOUNTING">
        <group gid="net_bw_acct" />
    </permission>

    <permission name="android.permission.LOOP_RADIO" >
        <group gid="loop_radio" />
    </permission>

    <!-- The group that releated with VPN -->
    <permission name="android.permission.SAMSUNG_MODIFY_ROUTE" >
        <group gid="net_admin" />
    </permission>

    <permission name="android.permission.SAMSUNG_TUNTAP" >
        <group gid="vpn" />
    </permission>

    <permission name="android.permission.SAMSUNG_MODIFY_IPTABLES" >
        <group gid="net_raw" />
    </permission>

    <!-- The group that releated with VPN -->
    <permission name="com.sec.android.SAMSUNG_MODIFY_ROUTE" >
        <group gid="net_admin" />
    </permission>

    <permission name="com.sec.android.SAMSUNG_TUNTAP" >
        <group gid="vpn" />
    </permission>

    <permission name="com.sec.android.SAMSUNG_MODIFY_IPTABLES" >
        <group gid="net_raw" />
    </permission>

   <!-- The group that releated with URL -->
    <permission name="com.sec.android.SAMSUNG_GET_URL" >
        <group gid="secnetfilter" />
    </permission>
    
    <!-- Group that can use gscaler -->
    <permission name="com.sec.android.permission.USE_GSCALER" >
        <group gid="graphics" />
    </permission>

    <!-- Except for SysScope, DO NOT USE this permission. -->
    <permission name="com.sec.android.app.sysscope.permission.ACCESS_SYSTEM_INFO_SYSSCOPE_ONLY" >
        <group gid="radio" />
    </permission>

    <!-- ================================================================== -->
    <!-- ================================================================== -->
    <!-- ================================================================== -->

    <!-- The following tags are assigning high-level permissions to specific
         user IDs.  These are used to allow specific core system users to
         perform the given operations with the higher-level framework.  For
         example, we give a wide variety of permissions to the shell user
         since that is the user the adb shell runs under and developers and
         others should have a fairly open environment in which to
         interact with the system. -->

    <assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
    <assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="media" />
    <assign-permission name="android.permission.WAKE_LOCK" uid="media" />
    <assign-permission name="android.permission.UPDATE_DEVICE_STATS" uid="media" />
    <assign-permission name="android.permission.UPDATE_APP_OPS_STATS" uid="media" />

    <assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="graphics" />

    <!-- This is a list of all the libraries available for application
         code to link against. -->

    <library name="android.test.runner"
            file="/system/framework/android.test.runner.jar" />
    <library name="javax.obex"
            file="/system/framework/javax.obex.jar"/>
<!--
    <library name="javax.btobex"
            file="/system/framework/javax.btobex.jar"/>
-->
</permissions>
 

Attachments

  • platform.xml.txt
    7.1 KB · Views: 39
Last edited:

overfloater

Member
Dec 20, 2011
8
4

mrdreamers

Senior Member
Oct 16, 2009
996
60
Texas
this did not work me i did this and went into dolphin browser on my galaxy tab 4 8.0 sm-t330nu and tried to download a picture and got that popup saying i cant do it why?:confused:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    First of all, I would like to thank poolmaker who had a tutorial over at the Xperia Z1 forum. So go on over and give him thanks!


    First you must be rooted. Second must have a file explorer. I personally use ES File Explorer so the steps below will be covering that file explorer.

    1. Open ES File Explorer.
    2. Open the Tools Menu.
    3. Make sure Root Explorer is turned on and long press over the name "Root Explorer".
    4. A sub-menu pops up, select Mount R/W. (if you don't do this the changes you make will not stick.) The next menu that pops up, you want to make /system RW by selecting the radio button.
    5. You then want to navigate to /system/etc/permissions.
    6. Scroll down and find platform.xml and make a copy of it and save it somewhere.
    7. Open the original file with ES Note Editor and then press the menu (the 3 vertical dots) to edit.
    8. Make the following changes
      <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>
    9. Save the changes you make.
    10. Before you exit, check the permissions of the edited platform.xml. They should be (rw-/r–/r–).
    11. Reboot your phone and enjoy being able to download/write/copy to your external SD card again. :D
    6
    This is a great tutorial to do it manually.
    However you can also just install this app https://play.google.com/store/apps/details?id=nextapp.sdfix
    Install, run it and uninstall.
    4
    This is a great tutorial to do it manually.
    However you can also just install this app https://play.google.com/store/apps/details?id=nextapp.sdfix
    Install, run it and uninstall.

    Of course that is always an option, there are actually a few apps on the market that do this. I just thought since it is xda, people might want to do it manually. :D
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone