使用Chrome瀏覽器調(diào)試Android App詳解
個(gè)人一直對(duì)Chrome情有獨(dú)鐘,Chrome除了更快之外,對(duì)開發(fā)者的支持更友好。內(nèi)置強(qiáng)大的Developer Tools,相信Web開發(fā)簡(jiǎn)直愛不釋手!而且Chrome Store里提供各種各樣的插件,沒(méi)有你用不到,只有你想不到。現(xiàn)在任何事基本Chrome全部辦的到,有時(shí)候就在想,如果可以用Chrome調(diào)試Android App該多方便,而如今Facebook剛剛開源了一個(gè)工具Stetho,從此Chrome調(diào)試Android不再是夢(mèng)。
調(diào)試工具
在Android開發(fā)中除了一些官方自帶的一些調(diào)試工具外,還有兩個(gè)工具我認(rèn)為是必備的。
1.抓包工具
windows平臺(tái)最好用的應(yīng)該是Fiddle,mac上最好用的應(yīng)該是Charles。這個(gè)應(yīng)該是App開發(fā)必備,不管是Android還是iOS。
2.Sqlite查看
這個(gè)工具就多了,除了自帶的sqlite3工具之外,還是需要一些GUI方面的工具更方便,就不一一列舉了,大家自行搜索找到自己喜歡的工具就行了,有一些瀏覽器插件,也有一些各個(gè)平臺(tái)的客戶端。需要知道的是如果想查看App內(nèi)的sqlite文件需要root。
Stetho
抓包工具雖然好用,但是每次都要在手機(jī)設(shè)置代理,也挺麻煩的,查看sqlite文件必須要root這點(diǎn)更麻煩。但是有了stetho,這些工具全部自帶了,使用方便,無(wú)須root,下面就來(lái)看下官方demo介紹的使用用法。
1.首先Gradle進(jìn)行依賴
dependencies {
compile 'com.facebook.stetho:stetho:1.0.1'
}
2.然后在你的App的Application類里進(jìn)行配置
public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(
Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(
Stetho.defaultInspectorModulesProvider(this))
.build());
}
}
然后就可以運(yùn)行App進(jìn)行調(diào)試,基本上可以滿足調(diào)試需求了。
3.Chrome調(diào)試
打開Chrome,輸入 chrome://inspect 然后就可以在列表里看到有你的app可以用stetho進(jìn)行調(diào)試的app,facebook官方也提供了一個(gè)基本的sample,以下是它的sample提供的調(diào)試截圖

基本功能使用
1.檢測(cè)網(wǎng)絡(luò)狀態(tài)

2.查看App本地?cái)?shù)據(jù)庫(kù)并且可以直接執(zhí)行SQL
查看App本地的SharedPreference文件并可以直接編輯
注意事項(xiàng)
值得注意的是如果你只是簡(jiǎn)單的進(jìn)行配置下,檢測(cè)網(wǎng)絡(luò)狀態(tài)的是沒(méi)法查看,有兩種方式:
1.使用OkHttp
這是最簡(jiǎn)單的一種方式,要求OkHttp的版本在2.2.x+,只需要添加如下代碼, 這也是目前最簡(jiǎn)單的方法
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());
2.使用HttpURLConnection
如果你使用的自己寫的或者其他http library底層是用HttpURLConnection實(shí)現(xiàn)的,你需要使用StethoURLConnectionManager來(lái)進(jìn)行集成。然后必須聲明Accept-Encoding: gzip的請(qǐng)求headers。具體用法見facebook stetho源碼的sample。
其中你可能會(huì)依賴如下network helpers.
dependencies {
compile 'com.facebook.stetho:stetho-okhttp:1.0.1'
}
或者
dependencies {
compile 'com.facebook.stetho:stetho-urlconnection:1.0.1'
}
最后,提供一個(gè)facebook stetho demo的一個(gè)下載。
- 使用Chrome調(diào)試JavaScript的斷點(diǎn)設(shè)置和調(diào)試技巧
- 使用Chrome瀏覽器調(diào)試AngularJS應(yīng)用的方法
- Android 手機(jī)瀏覽器調(diào)試使用Chrome進(jìn)行調(diào)試實(shí)例詳解
- 在IE,Firefox,Safari,Chrome,Opera瀏覽器上調(diào)試javascript
- flex chrome瀏覽器調(diào)試出現(xiàn)空白的解決方法
- 利用Chrome DevTools直接調(diào)試Node.js和JavaScript的方法詳解(并行)
- chrome調(diào)試javascript詳解
- Chrome調(diào)試折騰記之JS斷點(diǎn)調(diào)試技巧
- chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS
- 利用chrome瀏覽器進(jìn)行js調(diào)試并找出元素綁定的點(diǎn)擊事件詳解
相關(guān)文章
詳解Android開發(fā)技巧之PagerAdapter實(shí)現(xiàn)類的封裝
這篇文章主要介紹了詳解Android開發(fā)技巧之PagerAdapter實(shí)現(xiàn)類的封裝,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Flutter時(shí)間軸Timeline的實(shí)現(xiàn)
時(shí)間軸在很多地方都可以用的到,本文介紹了Flutter時(shí)間軸Timeline的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Windows下搭建Flutter開發(fā)環(huán)境
這篇文章介紹了Windows下搭建Flutter開發(fā)環(huán)境的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
Android項(xiàng)目實(shí)現(xiàn)黑名單攔截效果
本篇文章主要介紹了Android項(xiàng)目實(shí)現(xiàn)黑名單攔截效果,可以根據(jù)白名單或者黑名單攔截,測(cè)試可以攔截電話,有需要的朋友可以了解一下。2016-10-10
listview與SQLite結(jié)合實(shí)現(xiàn)記事本功能
這篇文章主要為大家詳細(xì)介紹了listview與SQLite結(jié)合實(shí)現(xiàn)記事本功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Android瀑布流照片墻實(shí)現(xiàn) 體驗(yàn)不規(guī)則排列的美感
這篇文章主要為大家詳細(xì)介紹了Android瀑布流照片墻實(shí)現(xiàn),體驗(yàn)不規(guī)則排列的美感,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

