私はアンドロイドエミュレータからインターネットにアクセスする簡単なアプリケーションを実行しようとしています。私はプロキシの背後にあり、 "...無線ネットワーク - > APN - > ..."でエミュレータのプロキシ設定を構成しました。しかし、インターネットはアプリケーションからではなくブラウザから作業しています。java.net.SocketException:アンドロイドエミュレータのプロトコルでサポートされていないアドレスファミリ
HttpURLConnection connection = null;
String URLName = "http://www.google.com";
try {
URL u = new URL(URLName);
connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("HEAD");
int code = connection.getResponseCode();
Log.d(TAG1, " " + code);
// You can determine on HTTP return code received. 200 is success.
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d(TAG1, e.toString());
}
finally {
if (connection != null) {
connection.disconnect();
}
}
次のようにLogcatでのエラーログの一部がある:
01-11 01:01:26.308: DEBUG/SntpClient(72): request time failed: java.net.SocketException: Address family not supported by protocol
01-11 01:02:39.909: WARN/System.err(422): java.net.SocketException: The operation timed out
私は、フォーラム内で検索されたあと、次のオプションを試してみましたが、それらのどれも働いているようだ:アンドロイドで
私が使用した起動オプション-http-proxy server:port -dns-server server
I hav誰かが
java.lang.System.setProperty("java.net.preferIPv4Stack", "true"); java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");
を示唆した後のIPv4スタックを使用するために、システムのプロパティを設定名= "android.permission.INTERNETあなた"
:eはマニフェストファイルでのインターネットのアクセス権
はアンドロイド許可を使用しています含ま
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
私はAndroid 2.2とWindows Vistaに取り組んでいます。ここで私を助けてください...
ブラウザはエミュレータで正常に動作しますか? –
@LalitPoptaniはいブラウザエミュレータでうまく動作します –