<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、背景 > Stetho是 Facebook 出品的一個強大的 Android 調試工具,使用該工具你可以在 Chrome Developer Tools查看**APP的布局**,?**網絡請求**(僅限使用Volle, okhttp的網絡請求庫),?**Sqlite**,?**Preference**, 一切都是**可視化**的操作,無須自己在去使用adb, 也**不需要root**你的設備 本人使用自己的Nubia Z9 Mini作為調試機,由于牽涉到Sqlite數據庫,所以嘗試了很多辦法把它Root了,然而Root之后就無法正常升級系統。? 今天得知一調試神器`Stetho`,無需Root就能查看數據庫以及APP的布局(這一點沒有Android Device Monitor使用方便,但是Android Device Monitor在Mac上總是莫名其妙出問題),使用起來很方便,大家可以嘗試一下。 > 轉載請注明出處:[http://blog.csdn.net/ys743276112](http://blog.csdn.net/ys743276112) ## 二、配置流程 ### 1.引入主庫 **使用Gradle方式:** ~~~ // Gradle dependency on Stetho dependencies { compile 'com.facebook.stetho:stetho:1.3.1' } ~~~ 此外還支持`Maven`方式,這里不做介紹。 ### 2.引入網絡請求庫 如果需要調試網絡且你使用的網絡請求庫是Volle或者Okhttp,那么你才需要配置,否則跳過此步。? 以下根據自己使用的網絡請求庫情況來導入相應的庫:? **1.使用okhttp 2.X** ~~~ dependencies { compile 'com.facebook.stetho:stetho-okhttp:1.3.1' } ~~~ **2.使用okhttp 3.X** ~~~ dependencies { compile 'com.facebook.stetho:stetho-okhttp3:1.3.1' } ~~~ **3.使用HttpURLConnection** ~~~ dependencies { compile 'com.facebook.stetho:stetho-urlconnection:1.3.1' } ~~~ ### 3.配置代碼 配置`Application` ~~~ public class XXX extends Application { public void onCreate() { super.onCreate(); Stetho.initializeWithDefaults(this); } } ~~~ 配置網絡請求庫:? **OkHttp 2.2.x+ 或 3.x** ~~~ //方案一 OkHttpClient client = new OkHttpClient(); client.networkInterceptors().add(new StethoInterceptor()); //方案二 new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) .build(); ~~~ 如果使用的是`HttpURLConnection`,請查閱相關文檔。 ### 4.使用 運行重新編譯后的APP程序,保持手機與電腦的連接,然后打開Chrome瀏覽器,在地址欄里輸入:`chrome://inspect`然后選擇自己的設備下運行的APP進程名下的`Inspect`鏈接 即可進行調試。 ## 三、遇到的問題 ### 1.okhttp版本問題: 可能你還在使用`okhttp 2.x`的版本,在引入網絡庫的時候,你需要去查看一下`Stetho`當前版本使用的`okhttp`版本,避免在項目中使用多個不同版本的`okhttp`。 **PS**:`okhttp`2.x和3.x的引入方式略有不同,不可以直接修改版本號來導入: ~~~ //2.x compile 'com.squareup.okhttp:okhttp:2.x.x' //3.x compile 'com.squareup.okhttp3:okhttp:3.x.x' ~~~ ### 2.配置okhttp代碼方案一報錯: ~~~ //方案一 OkHttpClient client = new OkHttpClient(); client.networkInterceptors().add(new StethoInterceptor()); //方案二 OkHttpClient client = new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) .build(); ~~~ 我在使用**方案一**進行配置`okhttp`的時候,會報錯: ~~~ Caused by: java.lang.UnsupportedOperationException ~~~ 不知道是不是兼容的問題,大家在使用的時候請注意。 [Stetho官網](http://facebook.github.io/stetho/) 轉載請注明出處:[http://blog.csdn.net/ys743276112](http://blog.csdn.net/ys743276112)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看