android 查看apk包里数据

Android studio查看手机/data/data下数据并导出,历经N小时的摸索,查阅资料,最终解决这个问题。虽然看起来是小问题,但是不解决心里不好受。网上的资料很多,但是能用的,能有效果的很少,下面我来总结我的方法。
首先要查看data/data下的数据,要求手机必须root.
打开Android studio点击这个

 

 

点进之后发现data文件打不开,没有权限,

so 

 

此时的你,应该是手机root过了 吧,但是你点击data发现目录下边,因为你没有权限打开。然后我们再看看 Permissions 下面的显示 是权限的意思 而drwxrwx–x 是需要linux的文件权限访问权限下边进入命令行受理权限。

接下来找到我们的SDK 目录下的文件

从这里打开我们的DOS 命令 接下来重点来了

 

3、输入图中命令修改权限

修改权限命令: adb shell su -c “chmod 777 /data/data/包名”

想要修改怎么样的一个文件夹的访问权限 加个文件路径便可
执行完毕之后! 在DDMS 中就可以看到我们要访问的文件夹了!

接下来是怎么导出我们所需的文件。 比如我想导出联系人的数据库

 

但是当你点击右上方工具栏的导出时,总是爆出以下的错误,很无奈,差了很多方法都解决不了。下面我给出可以解决的方法,一定可以导出

解决办法是去到安卓的adb目录\Android\sdk\platform-tools下按住Shift右键“在此处打开命令行窗口”,进入命令行窗口后:需要操作的命令有:
1、adb shell进入shell模式

1
adb shell

2、获得所有root权限

1
 

3、先把文件夹权限全部打开

1
chmod  777 /data/

4、给里边的db文件权限设置成可读可写可操作

1
chmod  777 /data/data/(项目全包名)/databases/xxx.db

5、cd命令进入db文件所在目录:

1
cd /data/data/(项目全包名)/databases

6、复制内容到一个temp文件中去,这一步很关键,目的是为了绕过有时候对文件直接pull的话,会找不到文件目录这一后面会出现的情况。

1
cat xxx.db > /sdcard/xxx.db

7、运行两次exit直接返回到正常的终端提示符
8、将temp文件拉出来,拉到你进入命令行的文件下,就是说pull出来的数据库文件在\Android\sdk\platform-tools文件夹下,打开我的电脑找到它!

1
adb pull /sdcard/xxx.db

再强调一点,怕你找不到pull到哪里了,它就在你进入命令行的那个文件夹里,自己瞪大眼睛看看就找到了!

到此目的达到,成功提取手机中的数据库。
其他的方法我都试过了,都不行,唉,你们网上能搜到的,我也已经试过了。。。假如你直接用命令 adb pull /data/data/全包名/databases/xxx.db将数据库db文件拉出来的话,会找不到目录的

之后将提取的数据库文件使用专业软件打开就可以查看了,我是用的是

 

posted @ 2018-07-08 00:52  朱诸  阅读(891)  评论(0编辑  收藏  举报