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


100

私は、Androidエミュレーターでwifiを有効にするために、SOやその他の場所に浮かんでいるさまざまなソリューションを試して一日を無駄にしましたが、役に立ちませんでした。誰かが私のAndroidエミュレーターでインターネットを有効にする方法を理解するのを手伝ってくれますか?

Nexus 5X API27とターゲットはAndroid8.1(Google Play)とNexus 5 API Pで、ターゲットはAndroid7.1.1です。

インターネットを有効にする方法があるはずだと思います。そうしないと、エミュレーターで仮想Wi-Fiを提供するという点全体が無駄に思えます。

プロキシなしでルーターに直接接続されているmacOS HS10.13.4を使用しています。

すべてのAVDを削除して、再インストールしてみました。Oreo Android8.1で最新のPixel2をインストールしてみました

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

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

ありがとう、ヴィクラム

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


すでに有効になっていないのですか?

私はまったく同じ問題を抱えています。それは私の電話のホットスポットを通しては機能しますが、私のルーターを通しては機能しません。どんなルーターをお持ちですか?以前はAVMルーターを使用していたときはすべて正常に機能していましたが、現在はTelekom Speedportルーターを使用しており、機能しなくなりました。
TheBaj

1
@TheBaj:ルーターの種類はここでは問題ではないかもしれませんし、問題があるかもしれませんが、私にはわかりません。私のために働いた以下の解決策を試してください。
VikramMahishi18年

1
@VikramMahishiは、AndroidSDKのエミュレーターを更新するだけです。それは私のために働いています。
Zala Janaksinh 2018

回答:


189

以下に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に変更した場合の修正です。これはほとんどの場合機能しますが、このソリューションでは修正できない他の理由もある可能性があります。


6
私はこの問題に非常に戸惑いました。これはそれを完璧に解決します。称賛!
Vijay Kumar Kanta 2018年

1
ありがとう。これを自分で理解することはなかっただろう!
pkozlowski 2018年

androidstudioでandroid8 Oreoエミュレーター(AVD)を使用してこれに遭遇します。cliフラグとシステム全体のDNS変更のいずれかで修正されました。
トム

1
ありがとうございました!3日以上このエラーに苦しんでいた
RLShyam20年

2
ありがとうございました !!!!それは私のために働いた、8.8.8.8 8.8.4.4
kallayyaHiremath20年

102

Mac OSX10.13を使用した私のソリューション

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

  • ラップトップでWiFiを無効にしました。
  • エミュレータのスイッチを切りました。
  • エミュレーターでコールドブートを実行しました(AVDマネージャー->エミュレーターアクション->今すぐコールドブート)。
  • ラップトップWiFiを無効にして再起動した後、エミュレーターは適切なWiFi接続を示しました(エミュレーターは引き続きAndroidWifiを表示しますが、ラップトップインターネットに接続されています。WiFiシンボルは次のようになります:WiFiシンボル接続
  • 次に、ラップトップでWiFiを有効にすると、すべてが機能しました。

1
これは機能し、「コールドブート」の前に「データのワイプ」を実行し、エミュレーターでWiFiを構成する必要がありました。ホーム画面を下にスワイプすると、通知が表示されました。
マヌエル

3
私のために働いた!Wi-Fiを無効にしてコールドブートを実行したところ、問題なく動作しました。
ハーゼン

1
私のために働いた。ありがとう。
Michael

1
チャームのように働いた!! ありがとう:)
SARATHSASI20年

1
これが最良の答えです。
AhmedMostafa20年

42

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

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

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

私はreact-nativeアプリに取り組んでいるので、Android Studioは不要であり、次のようにさまざまなエミュレーターを起動するように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
   }

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

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

ありがとう、ヴィクラム


おかげで、それは今動作します。これに一日を費やしました:/
TheBaj 2018年

「エミュレータ」は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
Bhupesh

@Bhupesh参照してください%HOME%\AppData\Local\Android\Sdk\emulator-これは私がそれを見つけた場所です。
t3chb0t

10

私は同じ問題を抱えていました、そして以下のステップに従うことはそれを解決しました。

手順:

  1. エミュレータ設定に移動
  2. [プロキシ]タブを選択します
  3. 次に、[Android StudioHTTPプロキシ設定を使用する]オプションをオンにします
  4. [適用]をクリックします


これが私のために働いた唯一の答えです、ありがとう!
ARIA

9

macOSの場合:

  1. システム環境設定でネットワークを開きます
  2. 左側から現在のネットワークを選択し、[詳細... ]をクリックします
  3. 変更IPv6を構成(下のTCP / IPのからタブ)自動的リンクローカルのみ
  4. エミュレータを再起動します。

8

Windowsのソリューション:

  1. Android SDKの場所に移動します(例:C:\ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator)
  2. 同じ場所でコマンドプロンプトを開きます。次のコマンドを記述しますemulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8。ここではNexus_4_API_29、あなたのエミュレータデバイス名になります( - > AVDマネージャあなたは、Android Studioからデバイスのリストを、それを見つけることができます)。このコマンドは指定されたデバイスを実行し、WIFIはインターネットに接続されます。

お役に立てれば。


はい、これは私だけのために働きました。以前はConnectedが表示されていましたが、インターネットは表示されていませんでした。ソリューションを実装した後、これは機能し始めました。
ashishdhiman20 0720年

@ ashishdhiman2007あなたの問題が私の解決策を使って解決したと聞いてうれしいです:)
ShehzadOsama20年

7

私は、ネットワークアダプタ上でGoogleのDNSで解決している8.8.8.88.8.4.4

Windows用のインターネットソリューションなしで接続されたAndroidエミュレーターwifi


私にとっても時間がかかったので、これがどこかのバグとして報告されることを願っています。
Renetik

7

仮想デバイスリストを右クリックしてデータをワイプすると、コールドブートが機能します。


6

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

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

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

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

ここに画像の説明を入力してください

それが役に立てば幸い。


6

Mac OSX(私にとってはCatalina)では、エミュレータが/etc/resolv.confを調べて最初のネームサーバー(私の場合はIPv6アドレス)を選択することでネームサーバーを自動的に選択するという事実が問題の原因です。ソース:https//developer.android.com/studio/run/emulator-networking#dns

ファイル(sudo vi /etc/resolv.conf)を編集し、IPv4アドレス(私の場合は192.168.1.1)をIPv6アドレスの前の最初に移動するだけです。真剣に、それはそれでした。


4

多分これは誰かを助けるでしょう。上記のすべての解決策を試しました。DNSの変更、コールドブートなど。数時間の試行錯誤の後、エミュレーターがDNS構成を取得するという公式ドキュメントにアクセスしました。エミュレータの起動時のホストマシンの マシンにVMWareをインストールしました。これにより、いくつかのネットワークアダプターがインストールされます。そのため、DNS構成を変更しました。すべてのアダプター(VMWareアダプターを含む)の中で、エミュレーターをコールドブートしました。OMG、何時間も消えなかったように見える問題は、ちょうどうまくいきました!

さて、私が奇妙だと思うのは、DNS構成を元に戻したことです。すべてのアダプターを自動に接続し、エミュレーターを再度コールドブートしました。WiFiはまだ問題なく動作します。OS:Windows10。


私はコールドブートにエミュレータ必要
KvdLingen

4

100%Windows10での作業

Android AVDには、エミュレーター内に構成されたGoogleDSNが付属しています。したがって、同じものにアクセスするには、同じものをネットワーク共有に設定する必要があります。

GoogleパブリックDNSIPアドレスGoogleパブリックDNSIPアドレス(IPv4)は次のとおりです。

8.8.8.8

8.8.4.4

Google Public DNSIPv6アドレスは次のとおりです。

2001:4860:4860 :: 8888 2001:4860:4860 :: 8844 アドレスをプライマリまたはセカンダリDNSサーバーとして使用できます。

より詳しい情報

ここでは、v4IPステップを設定する方法を示します

  1. オープンネットワークと共有センター
  2. 現在のインターネット接続を右クリックします
  3. プロパティを選択します
  4. インターネットプロトコルバージョン4(TCP / IPv4)をダブルクリックします
  5. [次のDNSサーバーアドレスを使用する]を選択します
  6. 優先DNSサーバーと代替DNSサーバーを設定する
  7. 優先DNSサーバー:8.8.8.8
  8. 代替DNSサーバー:8.8.4.4
  9. [OK]をクリックします
  10. AndroidAVDを再起動します

注:VPNが有効になっている場合は、VPNを切断する必要はありません。

GoogleDSNの詳細


1
残念ながら、WFHの場合はVPNが必要です。グーグルが何年もの間この問題を残したとは信じられない。
You-LiangShih20年

3

Windowsの場合:

いくつかのソリューションをテストした後、AVDの[今すぐコールドブート]オプションの下矢印をクリックして、自分のソリューションを見つけました。起動後、Androidはインターネットにアクセスできたので、うまくいきました。


2

単純なコールドブートが機能し、他のエミュレーターを起動したり、メモリを消去したりする必要はありません。

エミュレータを閉じて、再生ボタンの横にあるドロップメニューで[今すぐコールドブート]オプションを選択するだけです。ここにリストされているより包括的なオプションのいずれかを探していない場合でも、常に最も単純なソリューションから始めることをお勧めします。

幸運を!


2

VPNが接続されている場合は、VPNを切断してみてください。

私にとってはVPNスルーCisco AnyConnect Secure Mobility Clientでした。Ciscoクライアント(VPN接続を終了する)を閉じると、AndroidエミュレーターのWiFiが機能し始めました。


ありがとう、あなたは私を救った:)私はNordVPNを使用しました、そしてそれを切断することは助けになりました。
ymerdrengene

@ymerdrengeneそれが助けてくれてうれしいです!:)
Adomas

1

私のために働いたこと:

  • エミュレータの電源を切ります(電源キーを使用)
  • 別のエミュレーターでアプリを起動してから閉じます。
  • ここで、前のエミュレーターでアプリを再起動します。

1

Wi-Fiスポットが変更された場合は、エミュレーターを再起動するだけで、エミュレーターがdhcpサービスからネットワーク設定を更新します。


1

Androidエミュレータでネットワーク設定をリセットすると、この問題が修正されます。


1

新しいサーチャーユーザーの場合VPNがソリューションである場合があります ネットワークの問題のため、ネットワーク設定の変更が常に可能であるとは限りません。Googleがこれらの地域に応答しないIPアドレスを使用している場合、ソリューションはvpnを使用しています。適切なvpn(Android Studioを更新できるvpn)を使用します。vpnがオンになったら、avdデバイスを起動します(もちろん、エミュレーターのapiレベルは重要です。たとえば、api 22には問題はありませんが、api 28にはvpnを使用する必要があります!)これは、Androidエミュレーターインターネットに関する私の経験です。


1

エミュレータの場所を変更し、現在の場所に設定します。

  • 手順:-

    1. エミュレータオプションで[その他]をクリックします
    2. 場所に移動
    3. 住所を検索して[場所を設定]をクリックします

1

同じ問題が発生しました。エミュレーターでwifi / LTEに接続しましたが、どのWebサイトにもアクセスできませんでした。

私にとっての解決策は、自宅のDNSサーバーのIPを修正することでした。

$ cat /etc/resolv.conf 
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1

あなたは本当にグーグルDNSを使用する必要はありません


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.