本サイトではアフィリエイト広告を利用しています。
2023/04/05
Android エミュレーターがインターネット接続できない時の対応
ReactNative でアプリを開発している際に、急に Android エミュレータがインターネットに繋がらなくなる現象が起きました。
この時の解決法を見つけたので記録します。
結論
- エミュレータの設定にて、Use Android Studio http proxy settings を有効にする
- Android OS の設定にて、IP設定を静的に変更してDNS設定を指定する
現象
ふとした時に Android エミュレータがネットワークに繋がらなくなりました。 ブラウザでネットワークにアクセスできませんし、アプリ内の API へのリクエストなども通りません。困ります。
PC は正常にネットワークにアクセスできていますので、ルータなどの問題ではなくエミュレータ側に問題があります。
設定を確認すると、Wifi を使って AndroidWifi に接続してることがわかります。しかし、ネットワーク接続はできておらず未接続の状態になっていました。
対応
1. エミュレータの設定
エミュレータの設定を開き、Settings の項目を選択します。 Proxy のタブを選択して、「Use Android Studio HTTP proxy settings」の項目にチェックをつけます。 その下のラジオボタンは「No proxy」のままで良いです。
2. OS のネットワーク設定
OS の設定の画面から、ネットワークとインターネットの項目を選択します。 Wifi を選択して、AndroidWifi を確認して、詳細設定をタップして項目を開きます。
DNS が「8.8.8.8」になっていない場合はこれを指定することで解決できるようです。 以下その手順です。
- IP アドレスとゲートウェイの設定値をメモする
- 上部の編集マークをタップして AndroidWifi の設定を編集する
- IP 設定の項目を「静的」にする
- IP アドレスをメモした値にする
- ゲートウェイをメモした値にする
- DNS 1を「8.8.8.8」にする
- DNS 2を「8.8.4.4」にする
- 保存を選択
おわりに
特に何かを変更した記憶はないですが、急に Android エミュレータがネットワークに繋がらなくなってしまい困っていました。
アプリ内の API リクエストなども動作しないので開発に影響があ離ますね。
他にも解決方法はありそうですが、OS のネットワークの設定項目から解決できました。これでよしとします。