想定するケースとしては、開発中のWEBアプリケーションがAndroid端末で正しく動くか挙動を確認したいけど、実機を用意するのは面倒(&色々な端末を用意できない)という場合。Genymotionを利用すると、簡単に実機のシミュレートができます。
モバイルWEBの場合、Android端末できちんと動作するか、はやめに確認したいですよね。
今回、Genymotion(VirtualBoxのゲストOSとして動作)からMac(ホストOS)上で起動するWEBサーバに接続する設定をしてみたのですが、ちょっと手間取った(試行錯誤に時間かかったけど、結果、一瞬でできた)ので、メモがてらここに書きます。
前提
- 開発環境 は Mac OS X (Mavericks)とします。
Genymotionのインストール
- Macへのインストール方法を以前に投稿しましたので、こちらを参考に。
- [初心者向け] Androidアプリ開発@Mac 〜②Genymotionセットアップ〜
- 手順の途中でもでてきますが、Genymotion への会員登録が必要です。
確認手順
① 適当にWEBアプリケーションを localhost(127.0.0.1) で立ち上げる
この例は、Yeomanの雛型から作ったAngularJSアプリケーションを grunt serve
で立ち上げたもの。デフォルトでは 9000
番ポートで立ち上がる模様。
② GenymotionでAndroidを起動
適当にデバイスを作成して起動します。
Android標準ブラウザ(他のブラウザで試したい場合は後述の方法でアプリを追加する)を立ち上げ、URLに 10.0.3.2
を指定、ポートは先程とあわせて 9000
を指定します。
上図の右側が Genymotion なのですが、ちゃんと表示できました^^
ちなみに、10.0.3.2
は Genymotion が自動で割り当てた、ホストOSの localhost を指すアドレスのようです。
もしかして VirtualBox の環境や Genymotion のバージョンによって異なる(私のは version 2.2.0)かも。ただ 10.0.3.X 系ぽいので、いろいろ試してみてください。
ほか
Android標準ブラウザのデバッグモードを起動したい場合
より細かくデバッグできるようになります。URL欄に about:debug
と入力します。
するとブラウザ上部に「JAVASCRIPT CONSOLE」と表示されるので、タップするとコンソールの内容が表示されます。
標準ブラウザの設定メニューに「デバッグ」が追加されているので、さらに細かく設定することができます。
他のAndroidアプリを追加したい場合
このサイトに書かれてる手順にしたがって、zipファイルをドラッグすれば Google Play がインストールされるので、そこからアプリをインストールすればOKです。
私は Chrome を追加してみました。Chromeからも 10.0.3.2
で、ホストOSの localhost へ接続できました^^
iPhone/iPadのシミュレートは?
普通に Xcode に付属の iOSシミュレータを使えばよいかと。
ひとりごと
Macにメモリを積んでないと、Genymotion(VirtualBox)の立ち上げはなかなか厳しいものがある..