ExpoアプリをAndroidエミュレーターで開こうとした時にjavax.net.ssl.SSLHandshakeExceptionが出た場合の対処法
AndroidエミュレーターでExpoアプリを開こうとした時に次のエラーが出た。
Uncaught Error: javax.net.ssl.SSLHandshakeException: Chain validation failed
この場合はAndroidエミュレーター上の時刻が現在の時刻と違うために起こる問題のようだ。
しかし、そもそもエミュレーターがインターネットに接続されていない状態のため、自動で時刻が設定されていない問題も発生していた。
なので、Androidエミュレーターをインターネットに接続できるようにする。
Proxyを設定する
Settingsをサイドメニューから選択して、Proxyタブを開く。
Use Android Studio HTTP proxy settingsにチェックを入れる。
Wi-Fiを設定する
設定アプリから、接続されているAndroid Wifiの設定ページにアクセスする。
この画面に表示されているIPアドレスとゲートウェイの情報を控えておく。
右上の編集ボタンをタップして、IP設定をDHCPから静的に変更する。
そして、DNS1に8.8.8.8
を入力し、DNS2に8.8.8.4
を入力して保存する。
終わったら、❌ボタンをクリックしてエミュレーターを閉じる。このダイアログが表示されたOKをクリックしておく。
エミュレーターが閉じられたら、今度は対象のエミュレーターをCold Bootを使って起動する。
これでインターネットに接続が完了する。
そして、Expoのアプリも開けるようになった。