AndroidStudio-インターネットなしで接続されたAndroidエミュレーターWifi
Android Studio Android Emulator Wifi Connected With No Internet
解決:
以下にWindowsとMacのソリューションを示しますが、同様のソリューションはどのOSでも機能します。
Windowsの場合
- 開ける ネットワークと共有センター そして現在をクリックします 繋がり
- クリック プロパティ
- ダブルクリック インターネットプロトコルバージョン4(TCP / IPv4)
優先DNSサーバーと代替DNSサーバーを次のように設定します(下のスクリーンショット):
8.8.8.8 8.8.4.4
Macの場合
- に移動 設定>ネットワーク>詳細...> DNS
そこにあるエントリをすべて削除し、次の2つのエントリを追加します(下のスクリーンショット)。
8.8.8.8 8.8.4.4
注:Macユーザーの場合、入力フィールドが無効になっていて編集できない場合は、ウィンドウの下部にある[ロック]アイコンをクリックし、パスワードを入力して変更を加えます。
エミュレータを再起動すると、次の問題が解決するはずです。
スクリーンショット:
- ウィンドウズ
- マック
編集:これは、エミュレーターのWi-FiがDNSを機能していないDNSに変更した場合の修正です。 これはほとんどの場合機能しますが、このソリューションでは修正できない他の理由もある可能性があります。
Mac OSX10.13を使用した私のソリューション
LANカードとWiFiが有効になっていることが原因であると読みましたが、いくつかのアプローチが複雑に思えたので、これを試してみたところ、うまくいきました。
- ラップトップでWiFiを無効にしました。
- エミュレータのスイッチを切りました。
- エミュレーターでコールドブートを実行しました(AVDマネージャー->エミュレーターアクション->今すぐコールドブート)。
- ラップトップWiFiを無効にして再起動した後、エミュレーターは適切なWiFi接続を示しました(エミュレーターは引き続きAndroidWifiを表示しますが、ラップトップインターネットに接続されています。WiFiシンボルは次のようになります:WiFiシンボルが接続されました)
- 次に、ラップトップでWiFiを有効にすると、すべてが機能しました。
@TheBaj:私はこれに関する問題を理解し、それを修正しました。問題は、ルーターを介して接続している場合、エミュレーターのandroidwifiが設定を使用し、DNSをGoogle DNSである8.8.8.8以外に設定することです(これは、androidwifiがインターネットを取得するための必須の設定だと思います)アクセス)。しかし、ネットワーク設定でDNSを変更すると、依存関係、特にダウンロード元の依存関係を取得するgoogle-servicesプラグインが表示されます。jcenter()はダウンロードされないため、同期が失敗し、最終的にビルドが失敗します。
したがって、トリックは、デフォルトのルーター設定の後にネットワーク設定でGoogle DNS(8.8.8.8)を構成することです-この部分は、からの依存関係のダウンロードを処理しますjcenter()と同期およびビルドが成功します。
次に、エミュレータを起動します。エミュレーター@ Nexus_5X_API_27 -dns-server 8.8.8.8コマンドをターミナルから実行します。これにより、エミュレーターはDNSとして8.8.8.8を使用するようになり、エミュレーターはインターネットを使用できるようになります。
私はreact-nativeアプリに取り組んでいるので、Android Studioは不要であり、次のようにさまざまなエミュレーターを起動するようにbashrcを構成しました。
function emunex5 {エミュレーター@ Nexus_5X_API_27 -dns-server8.8.8.8}関数emunex6 {エミュレーター@ Nexus_6_API_27 -dns-server8.8.8.8}関数emupix {エミュレーター@ Pixel_XL_API_27 -dns-server 8.8.8.8}したがって、ある端末から選択したエミュレーターを起動してから、起動したエミュレーターでアプリを実行する別の端末でビルドを実行すると、フリーキングエミュレーターにインターネットアクセスがあります。 :)
これを試してみてください。これがお役に立てば幸いです。
ありがとう、ヴィクラム