在开发 Android 应用的时候,有时候我们需要查看数据库SharePreference等。通常的做法是把相关文件pull出来,而前提必须是手机得root。如果没有root,那就只能通过打印或其它方式查看,整个过程非常麻烦。

ChromeDeveloper ToolsWeb前端开发带来很大便捷。StethoFacebook开源的一个工具,我们借助Stetho结合Developer Tools,能够很轻松直观的调试、查看 Android 应用中的数据。

使用步骤


  1. 添加依赖
dependencies {
compile 'com.facebook.stetho:stetho:1.3.1'
// 如果需要查看网络请求信息(根据需要,选择依赖)
compile 'com.facebook.stetho:stetho-okhttp3:1.3.1' // 使用okhttp3作为网络底层库
compile 'com.facebook.stetho:stetho-okhttp:1.3.1' // 使用okhttp作为网络底层库
compile 'com.facebook.stetho:stetho-urlconnection:1.3.1' // 使用urlconnection作为网络底层库
}
  1. Application中初始化
public class MyApplication extends Application {

  public static OkHttpClient okHttpClient;

  public void onCreate() {
super.onCreate();
// 一般使用默认初始化配置足够使用
Stetho.initializeWithDefaults(this);
// 如果需要查看网络请求相关信息(以使用okhttp3为例)
initOkHttpClient();
} private void initOkHttp() {
okHttpClient = new OkHttpClient()
.newBuilder()
.addNetworkInterceptor(new StethoInterceptor()) // 这里添加一个拦截器即可
.build();
} }

至此,我们的应用配置完毕。是不是超级简单?
接下来看怎么使用Developer Tools查看应用的各种信息。

  1. 打开Chrome输入chrome://inspect
 
inspect

如果第1、2步配置正确的话,就可以看到以上页面。点击inspec

 
Developer Tools

注意:如果第一次启动,这个页面有可能会一片空白。因为Developer Tools在连接远程服务器,这个连接需要科学上网。如果页面加载成功后再次打开,就不需要科学上网了。

Developer Tools功能说明


  1. Elements
 
Elements

就像uiautomatorviewer.bat工具一样,可以查看页面视图的层级结构。

  1. Network
 
Network

网络请求的会话信息都包含在这里,可以点击单个会话到详情,查看具体的报文信息。如下:

 
Network Detail
  1. Resources
 
Resources

在这个选项卡里面,就可以查看应用保存的信息,包括SharePreference数据库,并且可以执行SQL语句,直接修改SharePreference的内容。如下:

 
Web SQL
 
SharePreference
  1. Console
 
Console

该控制台允许使用JavaScript代码与应用程序Android SDK交互。如下:

 
Console Result
context.getResources().getString(R.string.app_name);

运行以上代码可以得到应用下对应的字符串资源。

importPackage(android.util);
Log.d("WaitingAnd", "chuang");

运行以上代码可以在Logcat打印一条日志。

importPackage(android.widget);
importPackage(android.os);
var handler = new Handler(Looper.getMainLooper());
handler.post(function() { Toast.makeText(context, "Hello Stetho", Toast.LENGTH_LONG).show() });

运行以上代码可以在应用中直接显示Toast

注意:使用Console功能需要添加依赖,否则会提示Not supported without stetho-js-rhino dependency

compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'
  1. Screencast
 
Screencast
赶快用起来吧!_

作者:WaitingAnd
链接:https://www.jianshu.com/p/42303aa8299a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Stetho简化Android调试(一)的更多相关文章

  1. Stetho简化Android调试(二)

    Stetho简化Android调试(一) 一文中讲述了如何使用Stetho结合Chrome远程调试Android App. Stetho给我们调试带来很大的便利,效率显著提升的同时也产生一个问题:如果 ...

  2. 在 MAC OS X 安装 ADB (Android调试桥)

    什么是 ADB? Android调试桥( adb )是一个开发工具,帮助安卓设备和个人计算机之间的通信. 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接. adb 还可被用来与电脑上运行的 ...

  3. 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App

    0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...

  4. Android 开发笔记 “android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 ”

    资源来源:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会 ...

  5. [Android学习笔记]Android调试

    Eclipse Debug 快捷键: [Ctrl + Shift + B]: 添加/取消断点 [F5]:进入方法中 [F6]:单步执行 [F7]:执行完毕此方法 [F8]:继续执行,直接跳到下一个断点 ...

  6. Android调试优化篇

    为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...

  7. 2.[Andriod]Andriod Studio结合Visual Studio Emulator for Android调试Android App

    0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...

  8. cocos2d-js 写日志log 查看日志log Android调试查看log

    1 输出日志的方式,当然是cc.log了 2 如何查看日志?        a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log:        b)如果在真机上调试, ...

  9. Android调试桥-Android Debug Birdge详解

    原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...

随机推荐

  1. Win10下Prolific USB-to-Serial Comm Port驱动提示不能使用

    选择从计算机的设备驱动程序列表中选取 选择第一个安装即可.

  2. oracle行转列函数以及一些窗口函数(PIVOT ,OVER)

    可以查看博客园上传的文件 pivot  除了要转成列的字段(classnum,classid)值不一样,其他值都应该相同,否则转的数据有问题

  3. Rootkit介绍

    Rootkit 是一种特殊类型的 malware(恶意软件). Rootkit 之所以特殊是因为您不知道它们在做什么事情.Rootkit 基本上是无法检测到的,而且几乎不能删除它们. 虽然检测工具在不 ...

  4. Got error 28 from storage engine 解决方法

    早上一来,jira点击任何页面都会报错,首先查看服务器的日志 然后服务器首先看了磁盘,果不其然,是根目录的磁盘满了, 然后就一层一层找占用最大的文件 命令: cd /usr du -sh * 找到了文 ...

  5. css3动画transition animation

    CSS动画简介  transition   animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...

  6. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录

    \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...

  7. Spring重温(三)--Spring依赖注入(DI)

    前言:在Spring框架中,DI(依赖注入)是用来定义对象彼此间的依赖,主要有set方法注入和构造器注入两种方式.另外,当一个类包含多个构造函数带的参数相同,它总是会造成构造函数注入参数类型歧义的问题 ...

  8. SFTP远程连接服务器上传下载文件-vs2013项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2013 vs2013项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码 ...

  9. 微信支付-H5网页支付开通流程

    简介  H5 支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付.主要用于触屏版的手机浏览器请求微信支付的场景.可以方便的从外 ...

  10. 【Math for ML】矩阵分解(Matrix Decompositions) (下)

    [Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular V ...