查看应用的数据库和SharePreference
在此隆重推荐开源库Android-Debug-Database,该库可以通过浏览器查看数据库,甚至还可以执行sql语句。
特色
可以查看你的应用中所有的数据库。
可以查看你的应用中所有的shared preferences(额外福利)。
对你指定的数据库执行SQL语句。
对你指定的数据库中的数据进行可视化的编辑。
将数据库直接下载下来。
使用方法
在app的build.gradle的dependencies中添加如下语句:
debugCompile 'com.amitshekhar.android:debug-db:1.0.1'
debugCompile的保证只在debug编译时可进行数据库的调试查看。
启动程序,获取浏览器的调试网址。注意,在部分华为手机上不能打印debug级别日志,则不会出现DebugDB的输出。可直接通过打印DebugDB.getAddressLog()获取ip地址。
-
D/DebugDB: Open http://XXX.XXX.X.XXX:8080 in your browser
-
You can also always get the debug address url from your code by calling the method DebugDB.getAddressLog();
更重要的是:
- 1.你的手机要和电脑在同一个局域网下
- 2.If you are using it over usb, run adb forward tcp:8080 tcp:8080
实际使用中发现,http://XXX.XXX.X.XXX:8080中,只需将xxx的地址改成你的手机的IP地址即可查看数据库调试。
我曾多次尝试使用stetho库调试,但是gradle引入时可能因为墙的存在无法获取到该库;aar文件引入后运行时又出现classNotFoundException。遂放弃。
命令行查看应用数据库
通过执行shell命令行“run-as 包名”,进入了/data/data/包名目录。后续可通过cp命令将需要访问的应用database和sharepreference文件拷贝到sdcard。后续即可将文件拷贝到电脑中通过工具查看。
adb shell
shell@nikel:/ $ run-as com.example.myapplication
shell@nikel:/data/data/com.example.myapplication $ ls
cache
code_cache
program_cache
查看和修改Settings数据库
可通过命令行查看和修改Settings数据中具体字段的值。读取时如果字段不存在则输出null
//命令行adb shell 表名 get/put 数据库名 字段名 [字段值]
adb shell settings get global captive_portal_server
adb shell settings put global captive_portal_server 0
参考文章:
Settings.db在android6.0上的变化
调试手机中数据库的福音:Android-Debug-Database
无需root查看手机中数据库和SharedPreferences 中的数据
未root的安卓真机使用sqlite3查看data目录下的数据库
网友评论