前言
在开发Android过程中,经常需要从设备中取回文件,而Android为了安全考虑,其中的/data/data路径下的文件通常是不可见的。本文将介绍如何修改该文件夹的权限并取回数据,以及其中可能遇到的问题。
第一步:确保手机已经Root
这一步非常关键,也没有什么技术含量,现成的Root工具很多,直接拿来用就好了(什么,你要自己写?大牛慢走,不送)。这里要注意,选用Root工具的时候一定要谨慎,尽量选用信誉好的软件,避免给自己的设备带来危险。
第二步:修改文件夹权限
设备Root之后,连接上电脑,使用adb shell命令进入命令行,然后使用chmod 修改权限,见下图:
如果没有Root就进入这一步,则会报错“su命令不存在”,如下图:
遇到这种情况,直接换个工具Root就好了。
第三步:取回文件
如果第二步成功,现在可以进入/data/data取回文件,使用命令adb pull 。这里,pc-dir可以指定绝对路径,也可以是相对路径。如果在win7系统cmd下使用相对路径,得到的文件将被保存在你进入adb的路径下,即cmd的工作路径。如果是直接运行adb,则在adb.exe的路径下。不过我个人还是比较喜欢使用绝对路径。
如果在执行的时候报错“failed to copy XXX: Permission denied”,那说明目标的权限没有设置好,可以对目标继续chmod甚至逐级chmod,直到在shell下使用普通用户就能看到权限为777,再退出shell,即可进行pull。
如果使用Eclipse,则第三步可以很简单:打开File Explorer,找到目标文件再点击pull即可。
本文就到这里。