使用Chrome瀏覽器調(diào)試Android App詳解
個(gè)人一直對(duì)Chrome情有獨(dú)鐘,Chrome除了更快之外,對(duì)開發(fā)者的支持更友好。內(nèi)置強(qiáng)大的Developer Tools,相信Web開發(fā)簡(jiǎn)直愛不釋手!而且Chrome Store里提供各種各樣的插件,沒有你用不到,只有你想不到?,F(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,這些工具全部自帶了,使用方便,無須root,下面就來看下官方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)的是沒法查看,有兩種方式:
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來進(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自定義PopWindow帶動(dòng)畫向下彈出效果
這篇文章主要為大家詳細(xì)介紹了Android自定義PopWindow帶動(dòng)畫向下彈出效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11android TextView設(shè)置中文字體加粗實(shí)現(xiàn)方法
android TextView設(shè)置中文字體加粗如何實(shí)現(xiàn),接下來介紹實(shí)現(xiàn)方法,有需要的朋友可以參考下2013-01-01android 獲取APP的唯一標(biāo)識(shí)applicationId的實(shí)例
下面小編就為大家分享一篇android 獲取APP的唯一標(biāo)識(shí)applicationId的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02Android編程實(shí)現(xiàn)在adapter中進(jìn)行數(shù)據(jù)操作的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)在adapter中進(jìn)行數(shù)據(jù)操作的方法,結(jié)合實(shí)例形式分析了Android基于adapter操作數(shù)據(jù)的相關(guān)步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02android 中 webview 怎么用 localStorage
這篇文章主要介紹了android 中 webview 怎么用 localStorage方法的相關(guān)資料,需要的朋友可以參考下2015-07-07Android中使用AsyncTask實(shí)現(xiàn)下載文件動(dòng)態(tài)更新進(jìn)度條功能
這篇文章主要介紹了AsyncTask用法解析-下載文件動(dòng)態(tài)更新進(jìn)度條,需要的朋友可以參考下2017-08-08詳解Android 8.1.0 Service 中 彈出 Dialog的方法
這篇文章主要介紹了Android 8.1.0 Service 中怎么彈出 Dialog問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10