Android调式工具 --Facebook Stetho --无需root手机设备即可查看data目录下数据

2,220 阅读2分钟


一、前言

我们在android开发中都会写一个配置文件在SharePreference,或者存到本地数据库SQLite,但是这些都在/data/data/<package_name>包下面,然后这个目录需要root之后才能看到,在我开发中每次换一台设备想查看data下的数据就要root,然而 华为、小米、三星、这些手机root起来太费劲,还浪费时间到处找教程,很多手机都要在官网去解锁那些,反正我是很反感这样,不过这也是厂商的安全也做的够好,至此我才想能不能不root就可以查看data下的数据,经过一番折腾后,终于找到了一个好的工具,感谢Facebook呀,666

二、Stetho工具的爱不释手

Stetho是Facebook出品的功能强大的Android调式工具,在应用中集成Stetho之后,打开Chrome DevTools就可以方便地查看APP的界面布局、网络请求数据、SQLite数据库、SharePreference等信息,而且完全不需要对你的手机设备进行root操作,看到这儿是不是感觉很666呢,下面就是使用方法。
Stetho的集成非常简单,首先在Gradle中添加对Stetho函数库的依赖
------------------------------------------------------------------------------------------------------------
dependencies {
//使用Stetho必须引入的核心函数库
compile 'com.facebook.stetho:stetho:1.3.1'
}
------------------------------------------------------------------------------------------------------------
接着在工程的Application类的onCreate函数中添加Stetho初始化代码
------------------------------------------------------------------------------------------------------------


------------------------------------------------------------------------------------------------------------

Stetho的基本配置完成后,就具备了查看数据库,查看View Hierarchy,使用默认dumpapp工具的能力。这时通过打开Chrome浏览器,在地址栏中输入chrome://inspect打开DevTools,将手机通过USB连接到电脑,打开集成Stetho的APP,即可在Chrome中看到下图所示页面。


看到读取出手机中的app后就可以查看data下的数据了,个人觉得手机上查看sqlite屏幕太小,总是看不全,通过pc浏览器查看确实方便了不少。现在看到了当前打开的应用包名,点击旁边的inspect按钮即可打开监视页面,如果是首次打开这个页面 ,则是空白的,为什么?因为这个页面要下载一个插件,这个插件需要翻墙,在这儿我用的翻墙工具是蓝灯,谷歌专门为国人打造的翻墙工具,github.com/getlantern/…,第二次打开则不会有空白,

打开后如下图:


如何切换到视图查看?


是不是感觉很666,不急,还有怎么查看data下的数据?

切换到resource选项卡下面:


看完之后是不是很清晰,感觉上手试试吧,永久告别root查看data数据了!