主要是因为从Android7以上,安卓的权限开始变得很严格了,还加入了selinux,导致APP读写另外一个APP的私有文件很难(前提是有Root权限,没有更难,这里不说)
在网上搜到的各种文章中,都说明了要使用root权限来先修改文件的权限,chmod 777 /data/data/xxx.xxx.app/xxx.txt
很多只有这一条,但实际测试,这样即使这个文件存在,但依然会报没有权限。
百度到File 的canRead()方法还有说总是返回false的bug,不确定真假。
然后搜到有使用File.getParent(),然后再chmod 777改目录权限,我也试了,还是没用。。。。
最终使用debug,测试从/data/data/ 到目标文件的目录,发现/data/data/ 目录默认有权限,后面就没有权限,在给以后的每个层级目录都给予权限,这时候终于正常了。。。
这里水一篇,记录下这个坑
本文地址:https://blog.csdn.net/qq_32969313/article/details/107359552
如对本文有疑问, 点击进行留言回复!!
是否也想过要入Linux这个坑?我刚入,并且很O(∩_∩)O~ !(适合Linux新手)
Win知识 - 程序是怎样跑起来的——系统调用和高级编程语言的移植性
MPS DC-DC Designer帮你搞定DC-DC电路设计
网友评论