我们调试 App 的时候有时候要去除应用下 data/data/ 的文件,之前我都是运行在虚拟机上,然后再取出数据。今天发现一个好的方法,可以在真机上(不用 root )直接去除 data/data/ 下的数据。
首先打开 Android studio 的 Terminal 界面,或者打开命令行,切换到项目的目录下;
然后依次执行下面的命令
$ adb shell #执行adb shell命令连接手机设备
$ run-as com.packagename #执行run-as命令切换当前用户,这里输入你应用的包名
$ pwd #定位当前文件位置
$ ls #查看当前文件夹下的文件
$ cat databases/xx.db > /sdcard/xx.db #使用cat命令导出需要的文件(xx.db)到sd卡
然后你就可以看到你需要的文件输出到手机的 sdcard 指定位置,移动到电脑,就可以查看了。
HWVIE:/ $ run-as com.component.fx.plugin_toutiao
HWVIE:/data/data/com.component.fx.plugin_toutiao $ ls
cache databases files shared_prefs
d databases/ <
HWVIE:/data/data/com.component.fx.plugin_toutiao/databases $ ls
TouTiao TouTiao-journal
HWVIE:/data/data/com.component.fx.plugin_toutiao/databases $ cat TouTiao > /sdcard/TouTiao
第二种方法
adb shell
run-as packageName
cd
dd if=$fileName of=/sdcard/$fileName
adb shell 然后:
HWVIE:/ $ run-as com.component.fx.plugin_toutiao
HWVIE:/data/data/com.component.fx.plugin_toutiao $ ls
cache databases files shared_prefs
HWVIE:/data/data/com.component.fx.plugin_toutiao $ cd databases/
HWVIE:/data/data/com.component.fx.plugin_toutiao/databases $ ls
TouTiao TouTiao-journal
HWVIE:/data/data/com.component.fx.plugin_toutiao/databases $ dd if=TouTiao of=/sdcard/aaaaaaa
40+0 records in
40+0 records out
20480 bytes transferred in 0.006 secs (3413333 bytes/sec)
HWVIE:/data/data/com.component.fx.plugin_toutiao/databases $
开源
只是查看数据库的话,可以使用这个https://github.com/amitshekhariitbhu/Android-Debug-Database
网友评论