woshidan's blog

そんなことよりコードにダイブ。

Genymotionの仮想デバイスをSDKに連携させるのに少し手間取り、その仮想デバイスが瞑想状態(システムエラー)で立ち下がりもしない

高速仮想デバイスでデバッグサクサクのはずが動き出すまで4時間が溶けてました。

 

バージョン違ったり画面違うと表示がどう変わるかを自分の携帯で試すのは無理だから、

いずれ導入したかったのでいいもん。

 

表題のとおり、

Genymotionの仮想デバイスを連携させるのに少し手間取った

ので終わって一安心したら、今度は

Genymotionの仮想デバイスが瞑想状態(システムエラー)で立下りもしない

という事態になって焦ったのでそれぞれメモ。

 

 

 

Genymotionのバージョンはv2.1.1

OSはWindows7です。

 

 

 

Genymotionの仮想デバイスを連携させるのに少し手間取った

 

前の記事までの流れで、Genymotionから仮想デバイスの動作を確認した後は、

SDK中から仮想デバイスとして使えるように連携させます。

Help>Install New Softwareを開いて、Work with:の右の部分に

http://plugins.genymotion.com/eclipse

を入力すると、

下の部分にGenymobileと出るのでそのフォルダを開き、フォルダ内の

Genymotion Eclipse ToolsをクリックしてNext>を押して

確認画面もNext>を押し、利用規約に同意して、インストール。

 

インストールが終了するとSDKが再起動されます。

再起動後、ツールバーAndroid画面に赤い○が二つ並んでいるアイコンが表示されていたら、それをクリック。

すると、genymotionの仮想デバイスがあるディレクトリがセットされていない、というメッセージが出てくるのでOKを押すと、Preferencesの設定画面へ飛びます。

 

で、戸惑ったのがここで、この設定画面では、

GenymotionのSettings>VirtualBoxのVitual devices pathの欄に入力されているフォルダ名

を入力するのかと思っていれたところ、

Exception (VBoxManage): java.io.IOException: Cannot run program "C:\Users\yoshida\AppData\Local/Genymobile/Genymotion/deployed/\/reg": CreateProcess error=2, w肳ꂽt@

Initialize Engine: failed

と表示されてびっくり。残念ながら調べても分からないので、公式でhttps://cloud.genymotion.com/page/doc/#collapse8を読んだところ、

genymotionそのものが入っているフォルダ名だったみたいです。というか最初から読みなさい。

 

そして、Genymotionの設定のところで、Genymotionのインストール先のフォルダ名を入れたら、無事に作成した仮想デバイスの一覧が表示されます。

 

 

 

Genymotionの仮想デバイスが瞑想状態(システムエラー)で立下りもしない

 

で、てきとうに閉じていると間違って電源をoffにしていて動かしても付かないことがあります。

refreshしたらうごくかなぁ、と思ってSDKのGenymotionのメニューのrefreshを押して起動すると、

 

Unable to start the Genymotion virtual device

The VirtualBox software returned an error:"incompatible state"

とと出るじゃないですか。

直接VirtualBoxで動かしてみなさいって表示されたからVirtual Box立ち上げるじゃないですか、

瞑想中ってでるじゃないですか。

 

爆笑。

 

じゃなかった、瞑想中(システムエラー)ってなんですか??

と思いつつ、見た感じだと、システムエラーなどがあって落ちたときや、変なタイミングでリフレッシュなりなんなりしたときに動作もしないんだけど終了もせず、どっかで処理がぐるぐるしている状態みたいです。

電源が落ちていただかないと再起動もままならないので少し調べたところ、ターミナルからVBoxManageを使えば落とせるらしい。

 

具体的には、

NaN days 「VirtualBox仮想マシンが「瞑想中(システムエラー)」となってにっちもさっちも行かないとき」

https://subtech.g.hatena.ne.jp/motemen/20101119/1290092905

を参考にして、Virtual Boxのコンソールから

ターミナルから

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe controlvm "マシン名" poweroff

としたら落ちてくれた。はー。焦った。

 

ちなみにWindowsでのターミナルの出し方はファイルとプログラムの検索でcmdって入力すればいいです。

VBoxManage.exeを起動させると、瞑想状態だからか文字列がたーっと表示されてすぐおちるので、ターミナルから動作させる必要があるみたいです。

 

VMなんて学部の授業で触ってパソコンのキーボードのドライバふっ飛ばして以来で、

5機種分の表示テストがさくさくできるなんてすごいけど、なんかたいへんなことをやっている気分。