読者です 読者をやめる 読者になる 読者になる

やらなイカ?

たぶん、iOS/Androidアプリの開発・テスト関係。

Genymotionがとっても早いAndroidエミュレータらしいので試してみた

Android Android NDK

実機より早くてテストがはかどると話題の Genymotion(旧称 AndroVM)を試してみたのでメモ。 環境は Mac OS X 10.8.4

Genymotion「私には誰も追いつけないよ!」

Genymotionのインストール

  1. Genymotionにサインアップして Mac OS X 64 bits版をダウンロード。執筆時点のバージョンはv1.2.1
  2. ダウンロードした.dmgファイルをマウントしてGenymotion.appを/Applicationディレクトリにコピー
  3. VirtualBoxがインストールされていないと動かないので、インストールしていない場合は Downloads – Oracle VM VirtualBox からダウンロード、インストール(執筆時点のバージョンは4.2.18)
  4. Android SDKも必要なので、 Developer Tools | Android Developers からダウンロード、インストール

Genymotion.appを起動

  1. はじめは仮想マシンが無い状態なので、"Add"で Genymotion Cloud から定義を選択して"Add"で取り込みます
  2. "Menu" -> "Settings"の順にクリック、Android SDKのパスを設定する
  3. "Your virtual devices"にエントリされたものを選択して"Play"をクリックすると、仮想マシンが起動します(この時点で速さを実感できるはず!)

f:id:nowsprinting:20130907170805p:plain

ウィンドウの右側にあるアイコンで、端末の回転、電源ボタン、音量、バッテリー、GPSのエミュレートも可能。("Power off"はずっと待ってても仮想マシン終ってくれないようなので、cmd+Qで落としました)

adbコマンドも使用できます

$ adb devices
List of devices attached
192.168.56.101:5555 device

adb installで手元のapkをインストール、実行もできました。

IntelliJ IDEAプラグインのインストールと設定

プラグインはほぼダウンロードページに書かれている手順で、Android Studioでも使用できました。以下の手順でインストールできます

  1. Android Studioを起動
  2. メニュー -> [Preferences...]
  3. "IDE Settings"の下のほうにある"Plugins"行を選択
  4. [Browse repositories...]をクリック
  5. 検索フィールドで"genymotion"を検索し、ヒットした行をダブルクリックしてインストール(執筆時点で v1.0.1)
  6. Preferencesウィンドウを閉じようとするとAndroid Studioの再起動を促されるので、再起動
  7. 再びPreferences。"Genymotion"行が追加されているので選択し、インストール済みの Genymotion.app のパスを設定

続いて、起動していきます。

1.Android Studioのツールーバーに"Genymotion Device Manager"が追加されているのでクリック

f:id:nowsprinting:20130907171509p:plain

2.Genymotion.appで定義済みの仮想マシンがリストされるので、ひとつ選択して[Start...]で仮想マシンが起動します

f:id:nowsprinting:20130907171720p:plain

3.Android Studioの"Monitor"からも起動した仮想マシンが見えていますし、"Run"でもapkをインストール/実行するターゲットの選択肢にGenymotion仮想マシンが出てきます

f:id:nowsprinting:20130907171800p:plain

NDKを使ったアプリの起動

Android NDKを使用し、ARM向けにビルドしたapkはそのままでは起動しませんでした。手元のプロジェクトでは、Application.mkのAPP_ABIに"x86"を追加してビルドしなおすことで、インストール、起動まで確認できました。

公式にARM互換的なことが書いてあったのですが、どうなんでしょう?

参考