genymotionのすすめ

公開日: : 最終更新日:2014/09/28 Android, 備忘録 , ,

Android開発においてしばしば挙がる不満として、エミュレータのもっさり感があります。

この対処法として、

  • エミュレータ作成時、Intelのアーキテクチャを選択して作成する。
  • サードパーティ、genymotionのエミュレータを利用する。

があります。

一つ目の方法は、そもそももっさりの原因はエミュレータとPCでのアーキテクチャが異なるためなので、PCと同じアーキテクチャでエミュレータも作りましょう、というやり方。
このやり方もそこそこもっさり感は解消されるんだけど、今回は2つ目の「genymotion」の利用について記しておく。

要は、BirtualBox内での仮想デバイスとしてエミュレータを作りましょうってこと。
Oracle者の提供するVirtualBoxもインストールしないといけない等、一つ目の方法に比べて若干導入が面倒な気もしたが、1つ目の方法はPC再起動が必要だったり、動作も若干不安定らしいので、2つ目の方法のほうが個人的にはおすすめ。

実際に起動してみると、下手な実機端末よりよっぽどヌルヌル動いてくれて感動するはず。たぶん。
NDKとか使ってるcocos2d-xだと使えないんじゃないかとか思ってたけどそんなこともない。

手順についてまとめようかと思ったが、既に多くまとめられているし、特につまりどころもなかったので、割愛する。
このサイト(http://dev.classmethod.jp/smartphone/android/genymotion-install/)がわかりやすい。
今はWindowsについてはVirtualBoxバンドル版もでてるみたいで、VirtualBox事前インストールの必要もないみたい。

んで、備忘録として書いておきたいのは、cocos2d-xで作成したアプリケーションをgenymotionでシミュレートする方法

そう、デフォじゃ動いてくれないの。対処は簡単で、下記2つのファイルをちょちょっと編集するだけでおk。

・jni/Application.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1

#これを追記
APP_ABI := armeabi x86

 ・cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java

   private final static boolean isAndroidEmulator() {
      String model = Build.MODEL;
      Log.d(TAG, "model=" + model);
      String product = Build.PRODUCT;
      Log.d(TAG, "product=" + product);
      boolean isEmulator = false;
      if (product != null) {
//**************以下編集部*****************//
        //isEmulator = product.equals("sdk") || product.contains("_sdk") || product.contains("sdk_");
    	 // ++ for genymotion 以下に書き換え
    	  isEmulator = product.equals("sdk") || product.contains("_sdk") || product.contains("sdk_") || product.contains("vbox");
//**************ここまで編集部*****************//
      }
      Log.d(TAG, "isEmulator=" + isEmulator);
      return isEmulator;
   }

はい、アーキテクチャを追記して、エミュレータの条件にvboxも加えてあげるだけ。
んで実際にリリースするときはjni/Application.mkの追記が残ったままだと、余分にアーキテクチャが追加されてパッケージがでかくなるので、消しておくほうが吉みたい。

以上、genymotionを利用することで、エミュレータの起動、動作サクサク、マルチタッチも対応で、開発効率あがるの。
はやく使っときゃよかった。。。

 

GoogleAdsense

関連記事

bash設定ファイルについてまとめてみた

仮想環境を組んだ時に、環境変数が所どころ未設定なことがあった。 環境変数の設定にはbashの設定フ

記事を読む

hydra

クラックツールHydraでベーシック認証を突破してみる

kali linuxにデフォルトでインストールされているツール「Hydra」を利用して、ベーシック認

記事を読む

PHPのextensionが読み込まれない問題…

大したあれではないが、ちょっと詰まったのでメモ。。。 事のぼったんは久々にWordPressを

記事を読む

android_kitkat

Android4.4(API19)KitKatでのGraphicalLayout,AdMob問題

Androidの新バージョンKitKatがリリースされてもう結構経つが、いまさら我が開発環境でも導入

記事を読む

dordoidくん

【Android】難読化ツールProguard設定まとめ

Android開発環境の1つであるEclipseでは、標準でAndroidプロジェクトの難読化ツール

記事を読む

nerdtree

Vimプラグイン「NERDTree」設定・コマンド備忘録

Vimのプラグインである「NERDTree」について、設定・コマンドを備忘録としてまとめておきます。

記事を読む

node_cookie

【Node.js】 Cookieの取り扱いまとめ

最近流行りのNode.jsですが、Cookieに関して、いくつかお決まりの取り扱い方があり、

記事を読む

【Androidエラー】Conversion to Dalvik format failed with error 1

Androidにおいて、アプリケーションを作成し終え、いざパッケージをエクスポートっ!!というところ

記事を読む

john the ripper

パスワードクラックツール JOHN THE RIPPER 使い方まとめ

パスワードクラッキングツールである「JOHN THE RIPPER」の使い方を備忘録としてまとめてお

記事を読む

android_secure

【Android】代表的な脆弱性まとめ ~ファイルアクセス権について~

近年、スマートフォンの普及に伴い、Android, iPhone, WindowsPhone? ユー

記事を読む

GoogleAdsense

Message

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

GoogleAdsense

SSH CA HOST CERT IMG
SSH CA認証 (ホスト認証編)

ホスト認証 以前の投稿でSSH CA認証まとめとしてSSH C

openssh
SSH CA認証まとめ

SSHでの接続を、CA認証でやってみる。 備忘録として残しておくの。

node_cookie
【Node.js】 Cookieの取り扱いまとめ

最近流行りのNode.jsですが、Cookieに関して、いくつ

hydra
クラックツールHydraでベーシック認証を突破してみる

kali linuxにデフォルトでインストールされているツール「Hyd

john the ripper
パスワードクラックツール JOHN THE RIPPER 使い方まとめ

パスワードクラッキングツールである「JOHN THE RIPPER」の

→もっと見る

PAGE TOP ↑