Android4.0应用开发中添加系统权限无法访问SD卡
2015-02-03 22:25
288 查看
Android4.0应用开发中添加系统权限无法访问SD卡
今天在我么的机顶盒上移植我么公司的应用开发部门开发的一个多媒体管理应用的时候,发现插上SD卡后该应用无法读取SD卡中的内容。这个问题困扰了我好久,原先以为是应用开发部门的同事的问题,但是在其它的平台的上用的好好的。我就纳闷了,后来经过我仔细的询问才得知是因为他么在应用程序的AndroidMenifest.xml中添加了系统权限:sharedUserId,既然问题找到了这就好办了。
下面是具体的解决办法:
1.进入Android源码/system/core/vold/Volume.cpp 文件
2.. 将Fat:doMount(devicePath, "/mnt/secure/staging", false, false, false,
AID_SYSTEM, gid, 0702, true)修改成为
Fat::doMount(devicePath, "/mnt/secure/staging", false, false,
false,
1000, 1015, 0002, true))
这里参数具体的含义我就不太懂了,我也是根据网上的资料然后修改的,网上的资料对这几个参数的解释如下:
1000代表的是uid,即sytem
1015代表的是gid,
0002:是对权限的掩码
0002:表示 system: rwx-rwxr-x,此时system有读写执行权限
如果system不需要写权限可以将0002改为
0202: 表示 r-xrwxr-x。
默认的0702代表 ---rwxr-x
3.对Android系统重新编译,并将生成的烧录文件重新烧录就可以了。
其中我是在Android4.0上修改的,其它版本的我这里就不确定了。
今天在我么的机顶盒上移植我么公司的应用开发部门开发的一个多媒体管理应用的时候,发现插上SD卡后该应用无法读取SD卡中的内容。这个问题困扰了我好久,原先以为是应用开发部门的同事的问题,但是在其它的平台的上用的好好的。我就纳闷了,后来经过我仔细的询问才得知是因为他么在应用程序的AndroidMenifest.xml中添加了系统权限:sharedUserId,既然问题找到了这就好办了。
下面是具体的解决办法:
1.进入Android源码/system/core/vold/Volume.cpp 文件
2.. 将Fat:doMount(devicePath, "/mnt/secure/staging", false, false, false,
AID_SYSTEM, gid, 0702, true)修改成为
Fat::doMount(devicePath, "/mnt/secure/staging", false, false,
false,
1000, 1015, 0002, true))
这里参数具体的含义我就不太懂了,我也是根据网上的资料然后修改的,网上的资料对这几个参数的解释如下:
1000代表的是uid,即sytem
1015代表的是gid,
0002:是对权限的掩码
0002:表示 system: rwx-rwxr-x,此时system有读写执行权限
如果system不需要写权限可以将0002改为
0202: 表示 r-xrwxr-x。
默认的0702代表 ---rwxr-x
3.对Android系统重新编译,并将生成的烧录文件重新烧录就可以了。
其中我是在Android4.0上修改的,其它版本的我这里就不确定了。
相关文章推荐
- 【Android存储权限问题】AS开发的应用,manifest配置了读写SD卡权限,安装却无法创建文件夹
- 创建oracle数据库时出现oracle快捷方式应用的项目无法访问,你可能没有适当的权限!帮忙解决什么问题啊!谢谢!
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加数据(Create)
- wordpress会员系统开发手记:添加不同权限的会员等级角色
- eclipse开发servlet应用,Tomcat无法访问jpg图片 ===第二版===
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 适合大型企业信息化应用使用的角色权限管理体系
- Win7下用Framework 4.0开发的程序,发布时找不到Framework 4.0的问题,导致系统无法正常访问的解决方案
- Android开发心得-使用File ExPlorer无法访问系统内部文件
- 在安卓4.2.2的系统上,具有系统权限的应用不能读写SD卡
- android开发学习(二)——保存文件到手机内存和SD卡,文件访问权限,获取内存大小
- [0] WCF开发下,提示HTTP 无法注册 URL 进程不具有此命名空间的访问权限
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加查询
- 从零开始--系统深入学习android(理论-开发前准备-10.一个好的应用应该具备哪些方面-10.1易于访问)保留
- Win7下用Framework 4.0开发的程序,发布时找不到Framework 4.0的问题,导致系统无法正常访问的解决方案
- IC卡应用系统开发-(二)加密机访问
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加检索操作(Retrieve)
- 从零开始--系统深入学习android(理论-开发前准备-10.一个好的应用应该具备哪些方面-10.1易于访问)保留
- Tiny6410学习ing—(二)、嵌入式Linux应用开发—(2)、文件编辑(系统调用方式访问文件)—①
- eclipse开发servlet应用,Tomcat无法访问jpg图片
- 应用和系统开发过程中,高并发的访问对同一数据的不一致,读脏数据的处理办法