2018年03月02日
注意
NoxPlayer 6.0.5.3 + Windows10での結果です。環境によっては異なる可能性があります。
結論
パソコンによっては、「グラフィックスレンダリングモード」を「急速モード(DirectX)」にするとAndroidが起動しなくなる場合がある(一部アプリは急速モードでないとまともに動かないらしいが)。設定ファイルをいじって「互換モード(OpenGL)」に戻せば起動する場合がある。
問題と対処
WindowsやMacのパソコン上でAndroid環境を動かすエミュレータ。これで動かしたいアプリがあって使ってみていたのである。
で最初につまづいたことだったのだが、一度これを使ってAndroid環境を立ち上げ、その後「システム設定」(画面右上の歯車のマーク)からエミュレータの設定を変えたあと再起動すると、起動が99%で止まってその先に進まなくなったのである。
その際、対処法が書かれたページへのリンクが表示されるとともに、単に再起動するか環境をリセットして再起動するかするためのボタンが表示されるのだが、ここにある方法のどれに従っても症状は変わらないのである。
その過程で、「もしかしてシステム設定において、このパソコンでは不都合が起きる設定をしてしまったのでは?」と思い至ったのであった(詳細後述)。しかしながらNoxPlayerのシステム設定画面は、エミュレータ上のAndroidが正常に起動してからでないと表示できないという仕様になっており、「その設定を変更できれば起動するかもしれないのに!」という状態に陥ってしまったのである。
その後、いくつか当たりを付けてフォルダを探してみると、ディレクトリ %userprofile%\AppData\Local\Nox にある conf.ini が設定を保存しているファイルだと気付き、その中にある graphic_engine_type=1 (システム設定画面の「高級設定」→「グラフィックスレンダリングモード」を「急速モード(DirectX)」にすることに相当)を graphic_engine_type=0 (同、「互換モード(OpenGL)」にすることに相当)に変更したら、エミュレータ上のAndroidが起動するようになったのであった。
補足
システム設定が原因だと気付いたのは、上記「対処法が書かれたページ」においてNoxPlayerを管理者で起動して所定のソフトを動かすという解決策が掲載されていたのだが、管理者ではそのまま起動したのであった(私は普段のアカウントは非管理者として作っているので)。
ということは、起動しないのはユーザ別の設定が原因?と思って管理者のほうでもシステム設定を同様に変えて試したところ、やはり起動しなくなったのであった。
ちなみに、開発元にはこの対処法もぜひ載せてくれと連絡しておいてあります。