サードパーティのjarを利用するAndroidアプリを開発しています。そのライブラリによって発行されたHTTPリクエストを監視し、場合によっては変更したいと思います。NSURLProtocol
iOSでは、アプリのプロセスで発生するネットワークリクエストを検査および操作できるカスタムクラスを登録することで、これを行うことができます。
Androidに似たものはありますか?私はAndroid開発に不慣れですが、この問題に対する実用的な解決策を見つけることができませんでした。
私はこのjarのソースを持っていません、そして私はそれを逆コンパイルすることに頼ることができません。
私が調査したいくつかのこと:
- AndroidContentProvider。ソリューションは「content://」リクエストではなく「http://」リクエストをサポートする必要があるため、機能しません。
- カスタム
org.apache.http.impl.client.DefaultHTTPClient
クラスの作成。(これは、私が求めているリクエストに使用される基盤となるネットワーキングクラスです。)Androidはこのクラスのシステムバージョンをキャッシュし、私の代わりに常にロードするため、これは機能しないようです。ロード順序。
私はApacheHTTPライブラリをかなりよく調べましたがHttpRequestInterceptor
、クラスのようなあらゆる種類のものがありますが、ライブラリはインスタンスをインスタンス化し、プライベートメソッド内のプライベートメンバーに割り当てるためHttpResponseInterceptor
、あまり役に立ちません。DefaultHTTPClient
アクセスできません。
ここでの私の最終的な目標は、単体テストの目的でこれらの要求を監視および変更することです。実際のリクエストは発行されたくありません。模擬応答を提供したい。