2018/01/25
Android Emulator が黒画面でフリーズ
久しぶりに Android の Emulator を起動したら起動はするものの、黒い画面のままフリーズし、そのうち落ちてしまうようになってしまいました。 ### コマンドラインから起動 エラーメッセージ等を見るには最も手っ取り早い方法なので、以下のようにコマンドラインから起動してみました。 ちなみに、`avd` のリストを表示するには `-list-avds` を使います 。 ```console `gutter: false; % android-sdk/tools/emulator -list-avds Nexus_6P_API_24 % android-sdk/tools/emulator -avd Nexus_6P_API_24 emulator: ERROR: detected a hanging thread 'QEMU2 main loop'. No response for 15000 ms zsh: segmentation fault (core dumped) ./emulator -avd Nexus_6P_API_24 ``` どうも QEMU2 が無限ループに入っているとのこと。 ### IPv6 の設定を確認 ググッてみると、Stack Overflow に回答が。IPv6 が無効になっていると、この現象が起こるとのこと。 確認してみると、確かに IPv6 が無効になってる。 ```console `gutter: false; % cat /proc/sys/net/ipv6/conf/all/disable_ipv6 1 ``` ### IPv6 を有効にする Stack Overflow にはコメントアウトすれば良いと書いてありましたが、私の場合は `0` と明示的に指定する必要がありました。 `/etc/sysctl.conf` を以下のように修正。 ```text net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 ``` 反映させます。 ```console `gutter: false; % sudo sysctl -p net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 ``` この状態でエミュレータを起動したところ、無事に立ち上がりました。参考[Android Studio emulator: ERROR: detected a hanging thread QEMU2 main loop - Stack Overflow](https://stackoverflow.com/questions/47956847/android-studio-emulator-error-detected-a-hanging-thread-qemu2-main-loop/47963547#47963547)
0 件のコメント:
コメントを投稿