サードパーティのjarを利用するAndroidアプリを開発しています。私は、そのライブラリによって発行されたHTTPリクエストを監視し、場合によっては変更したいと考えています。 iOSの下では、アプリのプロセスで発生するすべてのネットワークリクエストを検査して操作できるカスタムNSURLProtocol
クラスを登録することで、これを行うことができます。AndroidのNSURLProtocolとiOS SDKの同等の機能は何ですか?
Androidには何か類似点はありますか?私はAndroidの開発は初めてだが、この問題の解決策を見つけることができなかったことは認めている。
私はこのjarのソースを持っていないので、私はそれを逆コンパイルすることに依存できません。
私が調査してきた物事のカップル:
- アンドロイドのContentProvider。解決策は "content://"要求ではなく "http://"要求をサポートする必要があるため、動作しません。
- カスタム
org.apache.http.impl.client.DefaultHTTPClient
クラスの作成。(これは基本的なネットワーキングクラスです。これは動作しません)Androidはこのクラスのシステムバージョンをキャッシュしています。ロード順で。
私はかなりよくはApache HTTPライブラリ上で見てきた、そしてそれは、私はあまり良くないんHttpRequestInterceptor
、HttpResponseInterceptor
クラスのようなもののすべての種類を持っていながら、ライブラリがDefaultHTTPClient
インスタンスおよび譲受人をインスタンス化するため、プライベートメソッド内のプライベートメンバーにアクセス権がありません。
私の最終的な目標は、ユニットテストのためのこれらの要求を監視して変更することです。私は本当の要求が出されるのを望んでいません。私はモックレスポンスを提供したい。