AndroidStudio-インターネットなしで接続されたAndroidエミュレーターWifi



Android Studio Android Emulator Wifi Connected With No Internet



解決:

以下にWindowsとMacのソリューションを示しますが、同様のソリューションはどのOSでも機能します。

  1. Windowsの場合



    • 開ける ネットワークと共有センター そして現在をクリックします 繋がり
    • クリック プロパティ
    • ダブルクリック インターネットプロトコルバージョン4(TCP / IPv4)
    • 優先DNSサーバーと代替DNSサーバーを次のように設定します(下のスクリーンショット):

      8.8.8.8 8.8.4.4
  2. Macの場合



    • に移動 設定>ネットワーク>詳細...> DNS
    • そこにあるエントリをすべて削除し、次の2つのエントリを追加します(下のスクリーンショット)。

      8.8.8.8 8.8.4.4

      注:Macユーザーの場合、入力フィールドが無効になっていて編集できない場合は、ウィンドウの下部にある[ロック]アイコンをクリックし、パスワードを入力して変更を加えます。

エミュレータを再起動すると、次の問題が解決するはずです。



スクリーンショット:

  1. ウィンドウズ

AndroidエミュレーターがWindowsのインターネットソリューションに接続していません

  1. マック

Macのインターネットソリューションに接続していないAndroidエミュレーター


編集:これは、エミュレーターの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}

したがって、ある端末から選択したエミュレーターを起動してから、起動したエミュレーターでアプリを実行する別の端末でビルドを実行すると、フリーキングエミュレーターにインターネットアクセスがあります。 :)

これを試してみてください。これがお役に立てば幸いです。

ありがとう、ヴィクラム