2012-04-13 22 views
7

サードパーティのjarを利用するAndroidアプリを開発しています。私は、そのライブラリによって発行されたHTTPリクエストを監視し、場合によっては変更したいと考えています。 iOSの下では、アプリのプロセスで発生するすべてのネットワークリクエストを検査して操作できるカスタムNSURLProtocolクラスを登録することで、これを行うことができます。AndroidのNSURLProtocolとiOS SDKの同等の機能は何ですか?

Androidには何か類似点はありますか?私はAndroidの開発は初めてだが、この問題の解決策を見つけることができなかったことは認めている。

私はこのjarのソースを持っていないので、私はそれを逆コンパイルすることに依存できません。

私が調査してきた物事のカップル:

  • アンドロイドのContentProvider。解決策は "content://"要求ではなく "http://"要求をサポートする必要があるため、動作しません。
  • カスタムorg.apache.http.impl.client.DefaultHTTPClientクラスの作成。(これは基本的なネットワーキングクラスです。これは動作しません)Androidはこのクラスのシステムバージョンをキャッシュしています。ロード順で。

私はかなりよくはApache HTTPライブラリ上で見てきた、そしてそれは、私はあまり良くないんHttpRequestInterceptorHttpResponseInterceptorクラスのようなもののすべての種類を持っていながら、ライブラリがDefaultHTTPClientインスタンスおよび譲受人をインスタンス化するため、プライベートメソッド内のプライベートメンバーにアクセス権がありません。

私の最終的な目標は、ユニットテストのためのこれらの要求を監視して変更することです。私は本当の要求が出されるのを望んでいません。私はモックレスポンスを提供したい。

答えて

2

あなたは残念ながら運が悪いです。その種のアプリケーションワイドのインターセプトフレームワークはAndroidアプリにはありません。

私の提案は、リクエストをインターセプトして模擬応答を提供するプロキシをセットアップすることです。

関連する問題