Stetho简化Android调试(一)
在开发 Android 应用的时候,有时候我们需要查看数据库、SharePreference等。通常的做法是把相关文件pull出来,而前提必须是手机得root。如果没有root,那就只能通过打印或其它方式查看,整个过程非常麻烦。
Chrome的Developer Tools给Web前端开发带来很大便捷。Stetho是Facebook开源的一个工具,我们借助Stetho结合Developer Tools,能够很轻松直观的调试、查看 Android 应用中的数据。
使用步骤
- 添加依赖
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作为网络底层库
}
- 在
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查看应用的各种信息。
- 打开
Chrome输入chrome://inspect

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

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

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

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

- Resources

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


- Console

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

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'
- Screencast

赶快用起来吧!_
作者:WaitingAnd
链接:https://www.jianshu.com/p/42303aa8299a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Stetho简化Android调试(一)的更多相关文章
- Stetho简化Android调试(二)
Stetho简化Android调试(一) 一文中讲述了如何使用Stetho结合Chrome远程调试Android App. Stetho给我们调试带来很大的便利,效率显著提升的同时也产生一个问题:如果 ...
- 在 MAC OS X 安装 ADB (Android调试桥)
什么是 ADB? Android调试桥( adb )是一个开发工具,帮助安卓设备和个人计算机之间的通信. 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接. adb 还可被用来与电脑上运行的 ...
- 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App
0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...
- Android 开发笔记 “android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 ”
资源来源:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会 ...
- [Android学习笔记]Android调试
Eclipse Debug 快捷键: [Ctrl + Shift + B]: 添加/取消断点 [F5]:进入方法中 [F6]:单步执行 [F7]:执行完毕此方法 [F8]:继续执行,直接跳到下一个断点 ...
- Android调试优化篇
为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...
- 2.[Andriod]Andriod Studio结合Visual Studio Emulator for Android调试Android App
0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...
- cocos2d-js 写日志log 查看日志log Android调试查看log
1 输出日志的方式,当然是cc.log了 2 如何查看日志? a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log: b)如果在真机上调试, ...
- Android调试桥-Android Debug Birdge详解
原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...
随机推荐
- Java时间转换的一个特性
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date codedat ...
- Spring使用事务增加的注解实现方
以下是我的文件结构 步骤1:配置数据源 <bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDa ...
- Debian Security Advisory(Debian安全报告) DSA-4407-1 xmltooling
Package : xmltooling CVE ID : CVE-2019-9628 Ross Geerlings发现xmltools库没有正确处理关于错误(畸形)XM ...
- delegate事件委托
下面举个例子 我们希望通过点击使得点击的li标签变红 <body style="height:2000px;"> <ul> <li>1111&l ...
- mysql 8.0 ~ innodb与变量优化
一 innodb的优化 1 已完全不支持myisam引擎 2 将自增主键的计数器持久化到redo log中.每次计数器发生改变,都会将其写入到redo log中.如果数据库发生重启,InnoDB ...
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- Django学习手册 - pycharm 安装/建立第一个网站hello world
步骤阐述: 1.下载 pycharm 安装包,安装pycharm 2.打开pycharm软件,新建工程项目 3.新建APP,配置url,启动项目 步骤1: pycharm 官网下载: https:// ...
- 【转载分享】 JLINKv9在迅为iTOP-4412精英板上的应用
本文转自:https://www.amobbs.com/thread-5680586-1-1.html 很多人买迅为iTop4412精英板,在Android或Linux+Qt跑起来后学习开发调试应用程 ...
- oracle坏块问题的处理
一.背景 今天有用户反映数据库连不上了,查看日志发现有数据库坏块. 查看数据库日志,有如下报错: ORA-01578: ORACLE , 93642) ORA-01110: 1: '/oracle/a ...
- macbook install mysql
安装Homebrew,详细步骤参见Homebrew官网. brew doctor确认brew在正常工作. brew update更新包. brew install mysql 安装mysql.log如 ...