赞
踩
真机环境下由于项目需要,在Android系统的/system/etc目录下自建目录alta。开发阶段,通过adb shell进入控制台,执行mkdir命令新建该目录,并将需要的xml文件push到该目录下。
编写apk程序,读取xml文件内容,利用本人另外一片博客(Android下一种打开并读取指定路径文件内容的方法)中的方法,执行发现始终找不到指定的路径,实际查看文件确实存在,利用cat命令可以查看文件内容正常。
开始以为是权限问题,于是加上android.permission.READ_EXTERNAL_STORAGE权限,错误依旧。查看/system/etc/alta下的xml文件都有读写权限。于是创建模拟器,在模拟器下进行同样的操作,执行程序,居然没问题。这说明程序本身不存在访问权限问题,运行环境存在差异。于是从/system目录开始比对访问权限,终于发现问题症结所在:
1). 模拟器环境下创建的目录/system/etc/alta权限如图:
2). 真机环境下创建的权限为:
差距不是一般的大,至此搞清楚问题原因。
【问题原因】:真机上手动创建的目录没有进入访问内部文件的权限,即“x”(对文件而言是可执行权限)权限
【问题解决】:利用chmod 0755修改/system/etc/alta目录的访问权限,使其允许访问其内部文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。