1. 程式人生 > >facebook的Android除錯工具Stetho介紹和使用注意事項

facebook的Android除錯工具Stetho介紹和使用注意事項


facebook的Android除錯工具Stetho介紹  一、前言      Chrome的Developer Tools對於WEB開發者來講幾乎是一個神器,而Chrome Store裡也有無奇不有的外掛,如果Chrome能調安卓應用應該是一件美好的事,而Facebook開源的一個工具Stetho讓Chrome除錯android 應用不再是一個夢。安卓在除錯時,有時候需要檢視資料庫,SharePreference等,而這個前提是必須root,另一方面,andoird的網路方面的抓包除錯顯得很困難,而這一切,Stetho都為我們輕輕鬆鬆地解決。除了使用android整合環境裡的工具檢視view樹,使用Stetho也可以做到。      Stetho是Facebook出品的一個強大的Android除錯工具,使用該工具你可以在Chrome Developer Tools檢視App的佈局,網路請求,sqlite,preference,一切都是視覺化的操作,無須自己在去使用adb,也不需要root你的裝置。使用的方式很簡單,配置好之後,在Chrome位址列輸入chrome://inspect (哈哈,和webview 遠端除錯的方式一樣)。廢話少說,先來看看效果圖。




怎麼樣,是不是看起來很碉堡,尤其是如果你做過web開發,肯定感覺超級熟悉哈。下面我們就來看看怎麼使用這麼碉堡的工具。

二、新增gradle引用
compile 'com.facebook.stetho:stetho:1.1.0'

只有stetho庫是必須的,想檢視網路請求的話,需要使用下面的兩個庫之一(看你的網路庫用的是okhttp還是urlconnection)

compile 'com.facebook.stetho:stetho-okhttp:1.1.0' 或者
compile 'com.facebook.stetho:stetho-urlconnection:1.1.0'
三、修改程式碼 publicclassMyApplicationextendsApplication{ publicvoid onCreate(){ super.onCreate(); Stetho.initialize( Stetho.newInitializerBuilder(this) .enableDumpapp(Stetho.defaultDumperPluginsProvider(this)) .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)) .build()); }} 四、使用Chrom除錯
注意:Android 4.4 開始,預設的瀏覽器已經是 chrome 了,所以 webview 也是 chrome 了,這就給了 webview 遠端除錯的能力。我們需要在 Android 裡針對 Webview 做以下設定: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {             WebView.setWebContentsDebuggingEnabled(true);        } 在我們執行完程式後,我們開啟Chrome,在地址輸入chrom://inspect/,我們會看到這樣的介面:
       我們點選圖中的藍色inspect即可進入除錯介面,如果點選該連結後你開啟的是一個空白頁面,那麼恭喜你,你已經被G-_-/F-_-/W攔截了你必須翻牆啦。 五、開啟網路請求檢視

若果你使用了okhttp庫,參考下面的程式碼:

OkHttpClient client =newOkHttpClient();
client
.networkInterceptors().add(newStethoInterceptor());

如果你使用了HttpURLConnection,你需要使用StethoURLConnectionManager來幫忙。

相關推薦

facebook的Android除錯工具Stetho介紹使用注意事項

facebook的Android除錯工具Stetho介紹  一、前言      Chrome的Developer Tools對於WEB開發者來講幾乎是一個神器,而Chrome Store裡也有無奇不有的外掛,如果Chrome能調安卓應用應該是一件美好的事,而Facebook

SpringSpringBoot中的@Component @ComponentScan註解用法介紹注意事項

通過本文你將學到: Component Scan是什麼? 為什麼ComponentScan很重要? 專案中Spring Boot會對哪些包自動執行掃描(Component Scan)? 如何利用Spring Boot定義掃描範圍? 專案啟動時關於Compone

Redis 設定 Key/value 的規則定義注意事項(附工具類)

對於redis的儲存key/value鍵值對,經過多次踩坑之後,我們總結了一套規則;這篇文章主要講解定義key/value鍵值對時的定義規則和注意事項。 前面一篇文章講了如何定義Redis的客戶端和Dubbo整合儲存器;當我們真正開始開發的時候,就會突然發現,有點不知道如何去定義Redis的K

Redis設定Key/value的規則定義注意事項(附工具類)

對於redis的儲存key/value鍵值對,經過多次踩坑之後,我們總結了一套規則;這篇文章主要講解定義key/value鍵值對時的定義規則和注意事項。 前面一篇文章講了如何定義Redis的客戶端和Dubbo整合儲存器;當我們真正開始開發的時候,就會突然發現,有點不知道如何去定義Redis的K

django 資料庫增強工具 south 的安裝使用注意事項。。。

django 開發 web 應用的時候,其中的 ORM 非常好用。 通過 moldes 的定義和呼叫。可是,django 在 資料庫同步 (syncdb) 的時候。只會建立不存在的資料表。對於中途需要修改 model ,比如增加欄位,刪除欄位,修改欄位等操作  syncdb

使用neo4j圖資料庫的import工具匯入資料 -方法注意事項

背景 最近我在嘗試儲存知識圖譜的過程中,接觸到了Neo4j圖資料庫,這裡我摘取了一段Neo4j的簡介: Neo4j是一個高效能的,NOSQL圖形資料庫,它將結構化資料儲存在網路上而不是表中。它是一個嵌入式的、基於磁碟的、具備完全的事務特性的Java持

詳細介紹Serializable的使用注意事項

引言 開啟Serializable Serializable是Java提供的一套標準的序列化介面,是一個空介面,為物件提供序列化和反序列化操作.使用也是相當的簡單,只要實現介面即可.

UI自動化測試簡介及Selenium工具介紹環境搭建

版本 ebe 需求分析 核心 nis rep color 基於 多語 自動化測試簡介 1.1何為自動化測試?   是把以人為驅動的測試轉化為機器執行的一種過程,它是一種以程序測試程序的過程。換言之,就是以程序實現的方式來代替手工測試。 1.2自動化測試分類   分為功能自動

PHP的依賴管理工具Composer介紹使用

PHP的依賴管理工具Composer介紹官方文檔:http://docs.phpcomposer.com/00-intro.html#System-Requirements linx上安裝:下載 Composer 的可執行文件 局部安裝要真正獲取 Composer,我們需要做兩件事。首先安裝 Composer

位運算子的基本使用注意事項

                                      &n

箭頭性函式的一些特徵注意事項

1、typeof運算子和普通的函式一樣 let commFunc = () => {}; console.log(typeof commFunc); 輸出為function。 let arrowFunc = () => {}; console.log(typeof arro

java中介面(interface)及使用方法注意事項

1、介面:一種把類抽象的更徹底,接口裡只能包含抽象方法的“特殊類”。介面不關心類的內部狀態資料,定義的是一批類所遵守的規範。(它只規定這批類裡必須提供某些方法,提供這些方法就可以滿足實際要求)。 在JAVA程式語言中是一個抽象型別,是抽象方法的集合,介面通常以interface來宣告。一個類通過

mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則注意事項

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

lua 1 基本語法注意事項

筆記總結自: http://www.runoob.com/lua/lua-data-types.html   基本資料型別: 資料型別 描述 nil 這個最簡單,只有值nil屬於該類,表示一個無效值(在條件表示式中相當於false)。

0到3個月的寶寶護理重點注意事項,家長要記住哦

寶寶從出生的那一天開始每個月都是有不同的變化,而且會隨著寶寶的成長,有些月份會新增一些寶寶的相關護理的要點和注意事項。當然不管是哪個月照顧寶寶的任何方面都是需要細心和耐心的,下面相關的一些護理要點僅供家長們參考,畢竟每個寶寶都是獨一無二的,每個家庭在寶寶的養育方面都是不一樣的。 1個月的寶

相機標定中部分疑問注意事項

相機標定基本知識 對於針孔攝像機模型,一幅檢視是通過透視變換將三維空間中的點投影到影象平面。投影公式如下: 或者 這裡(X, Y, Z)是一個點的世界座標,(u, v)是點投影在影象平面的座標,以畫素為單位。A被稱作攝像機矩陣,或者內參數矩陣。(cx, c

Tensorboard工具介紹使用方法

Tensorboard中的資料形式: Tensorboard可以記錄與展示以下資料形式:  標量Scalars; 圖片Images;  音訊Audio; 計算圖Graph;  資料分佈Distribution; 嵌入向量Embedding

【異常帖】--- 大資料出現的所有異常,錯誤,注意事項整理---持續更新.....

一、Ubuntu --> 修改主機名稱之後,要特別主要修改主機和ip的對映(否則會造成java.net.UnknownHostException: 主機名: 主機名的異常,mkdir: Call From java.net.UnknownHostException: s100: s100: u

getch()使用注意事項

getch(): 所在標頭檔案:conio.h 函式用途:從控制檯讀取一個字元,但不顯示在螢幕上 函式原型:int getch(void) 返回值:讀取的字元 例如: char ch;或int ch; getch();或ch=getch(); 用getch();會等待你按下任意鍵,再繼續執行下面的語

1112_maven專案使用Druid連線池配置步驟注意事項[mysql資料庫]

maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j