2012-02-06 24 views
0

私はcurlとそのためのjniラッパーをうまく構築しました。しかし、私がエミュレータでコードを実行すると、 "ホスト 'www.google.com'を解決できませんでした。 DNS名の代わりにIPを指定すると、「ホストに接続できませんでした」というメッセージが表示されます。私はプロキシの背後にいないので、私はその可能性を排除しました。curlがAndroidでインターネットに接続できません

ネイティブアプリがインターネットと通信するために必要な設定がエミュレータにあるかどうかはわかりません。どんな助けもありがとう。私はインターネットへの接続がadbシェルを介して存在することを確認しました。

#NC -z -v www.google.com 80
DNS FWD/REVの不一致:!www.l.google.com = vw-in-f147.1e100.net
DNSのFWD/REV不一致:www.l.google.com!= vw-in-f103.1e100.net
DNS fwd/rev不一致:www.l.google.com!= vw-in-f106.1e100.net
DNS fwd/rev不一致:www.l.google.com!= vw-in-f105.1e100.net
DNS fwd/rev不一致:www.l.google.com!= vw-in-f99.1e100.net
DNSのfwd/revの不一致:www.l.google.com!= vw-in-f104.1e100.net
www.l.google.com [74.125.113.147] 80(www)open

ありがとうございます。

答えて

0

私は、アプリケーションマニフェストにインターネットへのアクセス権がないことを知りました。

<は、使用許可のアンドロイドを:名前= "android.permission.INTERNETあなた"/>

+0

これは私に過去の接続の問題をもたらしました。今私は名前付きホストを提供するならば、DNSを解決する問題に就いています。私が提供しIPを代用すれば正常に動作します。私はc-aresを使うためにカールを再コンパイルしましたが、今度は "ホストを解決できませんでした:www.google.com(DNSサーバーに接続できませんでした)"というエラーが表示されます。 "nc"コマンドはホストを解決するため、エミュレータの設定はできません。だから私は、私が行方不明になっているアプリケーションの設定に何か他のものがあると仮定します。誰かがアンドロイドで働くカールを得ることができたら、助けてください。ありがとう。 – mks

0

私は最終的にこれが動作するようになりました。誰かが興味を持っている場合は、jni共有ライブラリがカールやその他の扶養家族に静的にリンクされている場合にのみ、この問題が存在するようです。共有ライブラリが動的にロードされるときにうまく動作します。

2

これは非常に遅い返信ですが、これに関する情報を検索することは非常に難しいですが、私は将来のグーグルーガーのために自分の意見を追加します。

私は同じ問題を扱っています。これは、gethostbynameがプロキシの背後で動作していないことに関連しているようです。プロキシが存在しない環境では、正常に動作するようです。また、私の環境では、プロキシはユーザー名とパスワードを必要とするため、作業がうまくいかない場合があります。

関連する問題