Facebook の stetho は、OKHTTP のみをサポートしているようで、Android 用の他のすべてのネットワーク フレームワークはほとんどサポートしていないようです: http://facebook.github.io/stetho/#integrations
私は Spring RestTemplate を使用していますが、どうすれば stetho を Spring とうまく連携させることができるのか疑問に思っています。Spring Resttemplate で OKHTTP を使用できることは知っていますが、アプリを小さくしておくことを好み、アプリに余分なネットワーク ライブラリを追加することは避けたいと考えています。
2 つのネイティブ クライアントの代わりに、OkHttp に基づく追加の ClientHttpRequestFactory を使用できます。RestTemplate は、RestTemplate コンストラクターを介して、または requestFactory プロパティを設定することにより、OkHttpRequestFactory を使用するように構成できます。Android 2.3 (Gingerbread) 以降でサポートされていますが、これを使用するには、プロジェクトに OkHttp 依存関係を含める必要があります。
私のSpring RestTemplateはHttpURLConnectionを使用して呼び出しを行っているようで、stethoをHttpURLConnectionで動作させる方法についての指示があるようですが、指示は非常に簡単です:
HttpURLConnection を使用している場合は、StethoURLConnectionManager を使用して統合を支援できますが、このアプローチにはいくつかの注意点があることに注意してください。具体的には、Stetho が圧縮されたペイロード サイズを報告できるようにするには、明示的に Accept-Encoding: gzip を要求ヘッダーに追加し、圧縮された応答を手動で処理する必要があります。
clienthttprequestinterceptor
ただし、a を使用してリクエストを送信し、送信前に認証ヘッダーを追加するため、上記の手順が私の場合には機能しないことが懸念されます。これにより、このスレッドによると、GZIP 圧縮が 2 回発生します。
ClientHttpRequestInterceptor を使用した RestTemplate により、GZIP 圧縮が 2 回発生する
Android用のSpring RestTemplateでstethoをうまく使った人はいますか? 現時点での回避策は、stetho の代わりに、Charles Proxy (有料の代替手段) を使用してすべてのネットワーク呼び出しを検出することです。