使⽤Chrome浏览器调试AndroidApp详解
个⼈⼀直对Chrome情有独钟,Chrome除了更快之外,对开发者的⽀持更友好。内置强⼤的Developer Tools,相信Web开发简直爱不释⼿!⽽且Chrome Store⾥提供各种各样的插件,没有你⽤不到,只有你想不到。现在任何事基本Chrome全部办的到,有时候就在想,如果可以⽤Chrome调试Android App该多⽅便,⽽如今Facebook刚刚开源了⼀个⼯具,从此Chrome调试Android不再是梦。
调试⼯具
在Android开发中除了⼀些官⽅⾃带的⼀些调试⼯具外,还有两个⼯具我认为是必备的。
1.抓包⼯具
windows平台最好⽤的应该是Fiddle,mac上最好⽤的应该是Charles。这个应该是App开发必备,不管是Android还是iOS。
2.Sqlite查看
这个⼯具就多了,除了⾃带的sqlite3⼯具之外,还是需要⼀些GUI⽅⾯的⼯具更⽅便,就不⼀⼀列举了,⼤家⾃⾏搜索到⾃⼰喜欢的⼯具就⾏了,有⼀些浏览器插件,也有⼀些各个平台的客户端。需要知道的是如果想查看App内的sqlite⽂件需要root。
Stetho
抓包⼯具虽然好⽤,但是每次都要在⼿机设置代理,也挺⿇烦的,查看sqlite⽂件必须要root这点更⿇烦。但是有了stetho,这些⼯具全部⾃带了,使⽤⽅便,⽆须root,下⾯就来看下官⽅demo介绍的使⽤⽤法。
1.⾸先Gradle进⾏依赖
复制代码代码如下:
dependencies {
compile 'com.facebook.stetho:stetho:1.0.1'
}
2.然后在你的App的Application类⾥进⾏配置
复制代码代码如下:
public class MyApplication extends Application {
public void onCreate() {
Stetho.initialize(chrome浏览器手机版下载
.enableDumpapp(
Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(
Stetho.defaultInspectorModulesProvider(this))
.build());
}
}
然后就可以运⾏App进⾏调试,基本上可以满⾜调试需求了。
3.Chrome调试
打开Chrome,输⼊ chrome://inspect 然后就可以在列表⾥看到有你的app可以⽤stetho进⾏调试的app,facebook官⽅也提供了⼀个基本的sample,以下是它的sample提供的调试截图
基本功能使⽤
1.检测⽹络状态
2.查看App本地数据库并且可以直接执⾏SQL
查看App本地的SharedPreference⽂件并可以直接编辑
注意事项
值得注意的是如果你只是简单的进⾏配置下,检测⽹络状态的是没法查看,有两种⽅式:
1.使⽤OkHttp
这是最简单的⼀种⽅式,要求OkHttp的版本在2.2.x+,只需要添加如下代码, 这也是⽬前最简单的⽅法
复制代码代码如下:
OkHttpClient client = new OkHttpClient();
clientworkInterceptors().add(new StethoInterceptor());
2.使⽤HttpURLConnection
如果你使⽤的⾃⼰写的或者其他http library底层是⽤HttpURLConnection实现的,你需要使⽤StethoURLConnectionManager 来进⾏集成。然后必须声明Accept-Encoding: gzip的请求headers。具体⽤法见facebook stetho源码的sample。
其中你可能会依赖如下network helpers.
复制代码代码如下:
dependencies {
compile 'com.facebook.stetho:stetho-okhttp:1.0.1'
}
或者
复制代码代码如下:
dependencies {
compile 'com.facebook.stetho:stetho-urlconnection:1.0.1'
}
最后,提供⼀个facebook stetho demo的⼀个下载。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论