こんにちは。エクセルソフトの田淵です。
いつからか Android Emulator がインターネットに接続できなくなっていました。
DNS_PROBE_FINISHED_BAD_CONFIG
と出ています。
stackoverflow では2つ解決方法が提示されていました。
- コンピューターの DNS 設定を変更する
- CLI で DNS サーバーの設定を付与して Emulator を起動する
CLI の場合は、Android SDK ディレクトリ以下の emulator ディレクトリ内で以下のコマンドで実行できます。
./emulator -avd <AVD Name> -dns-server <serverList>
Windows で Xamarin を Visual Studio と共に利用している場合は、デフォルトでは C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe
です。
ただ、マシンの DNS 設定を変更するのも都度 CLI で起動するのも大変なので、Visual Studio で開発をする場合は、次の方法が使えます。
Windows の場合
Visual Studio 2019 の「ツール>オプション」の「Xamarin>Android 設定」で「追加のエミューレーター起動引数」に -dns-server 8.8.8.8,8.8.4.4
を追加します。(8.8.8.8,8.8.4.4 は Google の DNS で任意の DNS で OK です。)
保存してデバッグ実行すると、以下のログが表示され DNS Server の設定を付けて起動してくれていることが分かります。
エミュレーター pixel_3_q_10_0_-_api_29 を起動しています... C:\Program Files (x86)\Android\android-sdk\emulator\emulator.EXE -no-boot-anim -dns-server 8.8.8.8,8.8.4.4 -avd pixel_3_q_10_0_-_api_29 -prop monodroid.avdname=pixel_3_q_10_0_-_api_29
Mac の場合
Visual Studio for Mac の「ユーザー設定」の「プロジェクト>Android」で「追加のエミューレーター起動引数」に -dns-server 8.8.8.8,8.8.4.4
を追加します。(プロジェクトの設定なので、何もプロジェクトを読み込んでいない状態で設定しないと開いているプロジェクトのみに適用されるかも。)
無事、接続できるようになりました。
以上です。
公式サイト: