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の設定フ

記事を読む

MySQLでの条件付きSUM,COUNT

以前つっかかったMySQLでの条件付きSUM,条件付きCOUNTについて備忘録。。。 通常、条

記事を読む

nerdtree

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

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

記事を読む

dordoidくん

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

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

記事を読む

john the ripper

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

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

記事を読む

openssh

SSH CA認証まとめ

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

記事を読む

node_cookie

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

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

記事を読む

【Android】APKのデコンパイルまとめ

AndroidのプロジェクトをパッケージングしたAPKファイルをデコンパイル(Javaのソースコード

記事を読む

android_secure

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

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

記事を読む

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

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

記事を読む

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 ↑