在练习《android第一行代码》第六章数据存储时,一定会遇到Android Device Monitor--File Explorer 中的/data/data/..无法访问的问题。
类似这样,点击data,看不见里面的内容:
这是为什么呢?
访问权限是 drwxrwx--x,这玩意是什么意思呢?
学过 Linux 的同学肯定一眼就知道这是什么意思。
这一个字符串一共有 10 个字符,第一个字符表示是文件夹还是目录,如果第 1 个字符是 d,则表示是文件夹。
后面 9 个字符可以分为三组,linux文件或目录的权限位是由9个权限位来控制的,每三位一组,它们分别是文件属主(Owner)的读、写、执行,用户组(Group)的读、写、执行以及其他用户(Other)的读、写、执行。
r 表示可读(read),w 表示可写(write),x 表示可被执行,- 表示没有该权限;
第一组 rwx 第二组 rwx 第三组 --x
可以看到,没有 r 和 w,说明 data 对其他人来说是不可读不可写的,
怪不得我们不能打开它呢,那怎么办呢?
于是我又网上搜啊搜,发现可以通过一定的方法修改文件的访问权限的,对,这个方法就是 adb shell。
adb shell 是 Android SDK 中的一个工具,你可以在你的 Android SDK 目录下的 platform-tools 找到它,下图就是我电脑上的该目录:
输入:adb shell ->
输入:su ->
输入:chmod 777 /data ->
输入:chmod 777 /data/data
以此类推给相关文件或文件夹赋上权限
接下来,导出这个文件看一下。
导出时,又遇到新的问题。
这是因为没有root权限啊,
在 cmd 中,使用 adb root 获得文件下载权限。
注意:在获取文件前,要再点击一下 Devices 标签页中的手机模拟器:
否则,系统会弹出以下令人讨厌的错误:
Failed to pull selection
null
接下来就可以正常导出了,用文本文件查看就可以了。
领取专属 10元无门槛券
私享最新 技术干货