Android调试工具_ Stetho
Stetho是Facebook開源的一個Android平臺調試工具。
Stetho能實如今不root手機的情況下,通過Chrome查看App的布局,Sqlite,SharedPreference。Network等。此外它還支持創建Dump文件。
使用Stetho非常重要的一點是要明確Stetho是一個調試工具。理論上是僅僅能用于Debug包的,假設應用到Release包上,你的app的數據就所有暴露出來了。
我們的代碼就是以這個為中心來實現的。
核心代碼實現:
首先要加入Stetho的引用
Gradle 文件里直接加入Stetho的依賴。
Stetho的依賴。僅僅須要Debug模式下打包依賴,Release模式打包不須要。
Stetho-okhttp是獲取Network數據須要的依賴。因為project中有依賴。僅僅能加入全部模式的依賴。能夠參見后面代碼。
其次要在特定位置創建一個用于Debug包的AndroidManifest和Application
位置例如以下圖所看到的,在主projectsrc文件夾下,創建debug文件夾。假設不須要Dump功能的話僅僅須要新建 AndroidManifest 文件和Application 文件就可以。
AndroidManifest中指明Debug從DebugApplication 啟動app。
> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.debug.xsldebug"> <application tools:replace="android:name" android:name=".activity.message.XSLDebugApplication" /> </manifest>
DebugApplication繼承應用程序原先的的Application,并加入Stetho初始化相關代碼。
經過以上的設置,app已經支持Stetho的基礎功能。 能夠通過Chrome的設備檢查或者 直接訪問 chrome://inspect/#devices 來查找當前連接的設備
? ? ? ? ? ? ? ? ? ?
假設要想支持查看Network信息,還須要進行下面的額外的配置
使用Okhttp網絡框架,能夠非常方便的集成Stetho,假設使用的是HttpURLConnection,會麻煩非常多。我們的網絡框架已經是Okhttp2.2+。所以非常方便的就能夠集成Stetho。
public String okHttpPost(String url, List<BasicNameValuePair> nameValuePairs) {String result = StringUtils.EMPTY_STRING;OkHttpClient client = OkHttpClientFactory.createDefault();if (BuildConfig.DEBUG) { //debug 包里面,加入Stetho-okhttp的支持client.networkInterceptors().add(new com.facebook.stetho.okhttp.StethoInterceptor());}Request request = new Request.Builder().url(url).post(getFormEncodingBuilder(nameValuePairs).build()).build();try {Response response = client.newCall(request).execute();if (response.isSuccessful()) {return response.body().string();}} catch (Exception e) {e.printStackTrace();}return result;}僅僅有Debug包才須要支持Stetho。Release包不須要。可是即使是Release包。這行代碼也會Build,所以最開始的依賴里面。Stetho-Okhttp的依賴要是Compile的而不是debugCompile。
效果圖預覽:
1. 查看布局
2. 查看Sqlite,并支持運行Sql語句。注意:命令行不是打在 Console窗體的哦。
3. 查看Network請求。
4. 創建Dump. 事實上這個功能本人沒有去嘗試,由于沒有dump的需求。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 杏樹林研發 ?梁建彬
總結
以上是生活随笔為你收集整理的Android调试工具_ Stetho的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Spring】依赖注入 加载顺序
- 下一篇: laravel5.4 关于select下