web-dev-qa-db-ja.com

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

SOやその他の場所に浮かぶさまざまなソリューションを試して1日を無駄にして、Androidエミュレーターでwifiを有効にしましたが、役に立ちませんでした。 Androidエミュレーターでインターネットを有効にするにはどうすればよいですか?

Nexus 5X API 27とターゲットはAndroid 8.1(Google Play)であり、Nexus 5 API PとターゲットはAndroid 7.1.1です。

インターネット上でインターネットを有効にする方法があるべきだと思います。さもなければ、エミュレーターで仮想Wi-Fiを提供することは無駄に思えます。

プロキシなしでルーターに直接接続されているmac OS HS 10.13.4を使用しています。

さらに、すべてのAVDを削除して再インストールしようとしました。 Oreo Android 8.1を搭載した最新のPixel 2をインストールしてみました

何も機能していないようです。誰かがこの問題に直面し、解決策を見つけましたか?

どんな助けでも大いに役立つでしょう

おかげで、Vikram

更新:電話を介してコンピューターをホットスポットwifiとして接続すると、エミュレーターはwifi経由でインターネットに接続できますが、コンピューターをホームルーターに接続すると失敗します。

35
Vikram Mahishi

@TheBaj:これに関する問題を考え出し、修正しました。問題は、ルーターを介して接続すると、エミュレーターのandroidwifiが設定を使用し、DNSをgoogle.DNSである8.8.8.8以外に設定することです(これは、インターネットを得るためのandroidwifiの必須設定ですアクセス)。しかし、ネットワーク設定でDNSを変更すると、特にjcenter()からダウンロードされる依存関係を取得するgoogle-servicesプラグインがダウンロードされないため、同期が失敗し、最終的にビルドに失敗します。

したがって、トリックは、デフォルトのルーター設定後にネットワーク設定でgoogle DNS(8.8.8.8)を構成することです。この部分は、jcenter()から依存関係をダウンロードし、同期とビルドが成功するようにします。

次に、ターミナルからemulator @Nexus_5X_API_27 -dns-server 8.8.8.8コマンドを使用してエミュレータを起動します。これにより、エミュレータはDNSとして8.8.8.8を使用するようになり、エミュレータはインターネットを使用できるようになります。

私は反応ネイティブのアプリに取り組んでいるので、私にとってAndroidスタジオは不要であり、次のように異なるエミュレーターを起動するようにbashrcを構成しました。

   function emunex5 {
    emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
 }

  function emunex6 {
    emulator @Nexus_6_API_27 -dns-server 8.8.8.8
  }

  function emupix {
    emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
   }

そのため、ある端末から選択したエミュレーターを起動し、起動したエミュレーターでアプリを実行する別の端末でビルドを実行します。また、FREAKING EMULATOR HAS INTERNET ACCESSがあります。 :)

これを試してみて、これが役立つことを願っています。

おかげで、Vikram

25
Vikram Mahishi

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

  1. Windowsの場合

    • Network and Sharing Centerを開き、現在のConnectionをクリックします。
    • Propertiesをクリックします
    • Internet Protocol Version 4(TCP/IPv4)をダブルクリックします
    • 優先および代替DNSサーバーを(下のスクリーンショット)として設定します。

      8.8.8.8
      8.8.4.4
      
  2. Mac

    • Settings> Network> Advanced ...> DNSに移動します
    • そこにあるエントリを削除し、これらの2つのエントリを追加します(下のスクリーンショット)。

      8.8.8.8
      8.8.4.4
      

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

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

スクリーンショット:

  1. Windows

Android emulator not connecting to internet solution on windows

  1. Mac

Android emulator not connecting to internet solution on a mac


編集:これは、エミュレーターのwifiがDNSを8.8.8.8.以外に変更した場合の修正です。これはほとんどの場合に機能しますが、この解決策では解決しないかもしれない他の理由もあるかもしれません。

58
Raman Sahasi

Mac OSX 10.13を使用した私のソリューション

LANカードとWiFiが有効になっていることが原因であると読みましたが、いくつかのアプローチが複雑に思えたので、これを試してみましたが、うまくいきました。

  • ラップトップでWiFiを無効にしました。
  • エミュレータをオフにしました。
  • エミュレータでコールドブートを行いました(AVDマネージャ->エミュレータアクションで->コールドブート)。
  • WiFiを無効にして再起動すると、エミュレーターは適切なWiFi接続を示しました。その後、ラップトップでWiFiを有効にすると、すべてが機能しました。
4
Juangui Jordán

ネットワークアダプタ8.8.8.8および8.8.4.4のGoogle DNSで解決しました

Android Emulator wifi connected with no internet solution for windows

2

Windowsの場合:

いくつかのソリューションをテストした後、AVDの下向き矢印をクリックして、「今すぐコールドブート」オプションを選択しました。起動後、Androidがインターネットにアクセスできるようになったので、うまくいきました。

1
Hamid Shoja

まあ、私はこのようにしました:

手動プロキシを追加する手順:

  1. エミュレータ設定に移動します
  2. Proxyタブに移動します
  3. 設定手動プロキシ設定
  4. ホスト名ポート番号を追加します
  5. をクリックします適用

参照スクリーンショット:

enter image description here

それが役に立てば幸い。

1
Hiren Patel

私のために働いたもの:

  • エミュレータの電源をオフにします(電源キーを使用)
  • 別のエミュレータでアプリを起動してから閉じます。
  • 次に、以前のエミュレーターでアプリを再度起動します。
0
M. Usman Khan