Android 如何从android手机将数据导出,查看数据库
有时候需要将手机的数据库导出来到电脑上查看比较方便,废话少说,直接上步骤:
1.首先需要将手机root,获取root权限才能查看数据库文件
第一种方法:直接在手机上下载一个RE管理器,就可以在手机上方便的查看了。
第二种方法:连接上studio,然后选择tool -> android -> Android Device Monitor. ,然后在 /storage/emulated/0/Android/data/com.example.test/cach
我在用这种方法的时候遇到一个问题,studio3.1.2版本菜单栏没有tool,看第四种方法,有root权限的手机
就可以找到了。
第三种方法:第二种方法很简单,但有特殊情况,比如我的手机就出现了这种情况,即时root情况下还是看不到,此时,就需要借助逼格很高的黑窗口终端通过命令行来导出了。
(1)打开黑窗口,或者直接在studio下边,输入 adb shell
(2) cd /data/data
(3) cd com.gcg.android.grirms (你的项目包名)
(4) cd databases
(5) ls 理论上就能看到你的数据库文件了,如果显示opendir failed, Permission denied 的话,说明你权限不够,然后你执行su,重新执行在命令,就可以了
(6)cp ./xxx.db /sdcard ( cp 文件名称 /sdcard ) 必须先复制到外部sd上,才能导出
(7)adb pull /sdcard/文件名称 D:/aaa
好了,大功告成,此时,你应该可以看到你的文件了。
第四种方法:
Android开发的时候有时候会必须要导出自己APP的数据库,但是对于常用的Android手机很多都没有root权限,网站上流传的一些教程也是针对有root权限的,对于没有root权限的手机,大多是要开发者自己继续root,其实很多root工具并不彻底,用起来也很麻烦,所以干脆就绕了个弯,直接从adb里面把数据库复制到sd卡,然后导出。
一、无root权限的手机
首先在cmd命令窗口输入adb remount
执行结果是remount failed,这个明显是没有root权限的手机,,所以只能用adb shell来查看,在命令行输入adb shell
继续输入su root
执行完了之后,$符号变成#了,这时你就能查看到你自己的包下的数据库了,数据库所在路径:data/data/package/databases ,可以直接cd到此目录下,然后用ls命令查看文件信息
这里就能看的数据库文件,xxx.db,这时候如果直接pull是pull不出来的,所以只能曲线救国,将db文件复制到sdcard或者其他任何你有权限可以导出的地方,我直接复制到sdcard,
在命令行执行cp命令:cp 文件名 /路径
然后直接sdcard拿出来就完了
二、有root权限的手机
我在用这种方法的时候遇到一个问题,studio3.1.2版本菜单栏没有tool,那就这样看
找到你想到的,右键,save as
数据库导出来了
现在就是看了
还需要一个工具,我用的是这个
下载:
https://download.csdn.net/download/qq_31939617/10419832 下载
下载好后,打开,把数据库文件拖进去就行