Android 外部SD卡/U盘无法写入解决方法(需要root)
2017-06-05 15:01
302 查看
Android平板替代FTP服务器实战 一文得到很多人的好评。
但今天我遇到一个问题,就是我买了只TF卡装上去以后发现:一般程序无法写入TF卡,而系统自带的文件工具能够写入。
什么原因呢?
好在这个平板已经是root的,马上调出rootexplorer文件管理器查看SD卡和内部存储器的权限(permission) 。
发现虽然SD卡和内部存储器都是属于(owner)是System 但是不同的就是group不一样。
sd是sdcard_rw,外部sd是media_rw。
上网搜索一下,说是要改源代码。
2.3中声明
<uses-permission Android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
可以读写SDCARD,包括其他storage,比如内部flash,usb等等
4.0中如果只声明这个,会发现其他mount的设备有可能没有写权限,需要同时声明
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
这样才可以读写/mnf/flash , /mnt/usb, /mnt/externa等目录
可能4.0增加了对其他存储设备的内建支持,其他设备不再共享gid "sdcard_rw"
而改用"media_rw",相应的细分了权限声明
2.3中 dr-xrwxr-x system sdcard_rw 1969-12-31 16:00 flash
4.0中 d---rwxr-x system media_rw 1970-01-01 08:00 flash
来源:http://blog.csdn.net/zmyde2010/article/details/7031461
也就是说程序得有"android.permission.WRITE_MEDIA_STORAGE"权限才可以写入外部SD卡/U盘
要改现成的APK没有意思,后来查查了目录,决定这样改:
1.首先平板必须是ROOT过的,否则下面的过程不能操作;
2.使用RE文件管理器用文本编辑方式编辑 system\etc\permissions\platform.xml 文件(system文件夹必须是读写状态,就是点一下r/w 目录变成r/w),
此处:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
</permission>
改为:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
(注意:段首对齐,"media_rw"和/>之间有空格。或可复制上一行代码进行修改。)
3.保存文件修改,退出;
4.重启平板。
问题解决。提醒大家以后开发文件类工具不要只会用"android.permission.WRITE_EXTERNAL_STORAGE" 。
但今天我遇到一个问题,就是我买了只TF卡装上去以后发现:一般程序无法写入TF卡,而系统自带的文件工具能够写入。
什么原因呢?
好在这个平板已经是root的,马上调出rootexplorer文件管理器查看SD卡和内部存储器的权限(permission) 。
发现虽然SD卡和内部存储器都是属于(owner)是System 但是不同的就是group不一样。
sd是sdcard_rw,外部sd是media_rw。
上网搜索一下,说是要改源代码。
2.3中声明
<uses-permission Android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
可以读写SDCARD,包括其他storage,比如内部flash,usb等等
4.0中如果只声明这个,会发现其他mount的设备有可能没有写权限,需要同时声明
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
这样才可以读写/mnf/flash , /mnt/usb, /mnt/externa等目录
可能4.0增加了对其他存储设备的内建支持,其他设备不再共享gid "sdcard_rw"
而改用"media_rw",相应的细分了权限声明
2.3中 dr-xrwxr-x system sdcard_rw 1969-12-31 16:00 flash
4.0中 d---rwxr-x system media_rw 1970-01-01 08:00 flash
来源:http://blog.csdn.net/zmyde2010/article/details/7031461
也就是说程序得有"android.permission.WRITE_MEDIA_STORAGE"权限才可以写入外部SD卡/U盘
要改现成的APK没有意思,后来查查了目录,决定这样改:
1.首先平板必须是ROOT过的,否则下面的过程不能操作;
2.使用RE文件管理器用文本编辑方式编辑 system\etc\permissions\platform.xml 文件(system文件夹必须是读写状态,就是点一下r/w 目录变成r/w),
此处:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
</permission>
改为:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
(注意:段首对齐,"media_rw"和/>之间有空格。或可复制上一行代码进行修改。)
3.保存文件修改,退出;
4.重启平板。
问题解决。提醒大家以后开发文件类工具不要只会用"android.permission.WRITE_EXTERNAL_STORAGE" 。
相关文章推荐
- Android 外部SD卡/U盘无法写入解决方法(需要root)
- Android 外部SD卡/U盘无法写入解决方法(需要root)
- android中root用户无法往某些目录写入文件解决方法
- Android 外部存储无法写入的解决方法
- 一插上u盘提示需要格式化,选择格式化时提示u盘被写保护无法进行格式化的问题解决方法
- android手机sdcard0无法写入文件夹解决方法
- android 开发中通过JNI无法向SD卡写入文件的解决办法
- android 开发中通过JNI无法向SD卡写入文件的解决办法
- Android4.4下MediaProvider无法向外置SD卡中文件写数据的解决方法
- VS2005使用WTL出现 “error LNK2019: 无法解析的外部符号_main”的解决方法
- 纽曼u盘无法打开的解决方法 量产工具
- 解决U盘无法打开,提示请将磁盘插入驱动器H的方法
- vs2010 "写入项目文件时出错。没有注册类别","无法读取项目文件",解决方法
- error LNK2001: 无法解析的外部符号 解决方法
- sql server 2005 中文件组的的概念及数据库文件因文件组满而无法写入的数据的解决方法
- U盘无法显示盘符的解决方法
- android上拔出sd卡导致flash上媒体也消失问题解决方法
- 删除U盘时无法停止通用卷的解决方法
- 除了ROOT 用户之外其他用户无法登录图形界面解决方法
- 移动硬盘U盘无法识别及无法退出解决方法.