GoogleAPIを利用可能なインテルのx86による高速化対応可能なAndroidエミュレータシステムイメージの作成

Androidエミュレータを使って自動テストをまわそうと思っても、エミュレータの起動速度が通常は遅いですよね・・・
その高速化方法として、インテルのx86向け高速化オプションを現在のAVDでは選択可能です。
しかし、GoogleAPIを利用可能な版は提供されていない・・・

ということで、今回は実際に行ったGoogleAPIを利用可能にしたインテルx86高速化対応版システムイメージの作り方をメモがてら。

参考1: http://t-tech.hatenablog.com/entry/2012/07/27/151705

参考2: http://isisredirect.blogspot.jp/2013/04/test-titanium-android-app-on-emulator.html

システムイメージの作成

以下の手順に沿い、システムイメージを作成、AVDを再起動させます。

1. GoogleAPIが有効な、適当なAndroid Virtual Deviceを起動させます

高速化対応を行いたいAndroid APIと同一バージョンのGoogleAPIが有効なインスタンスを起動してください

2. Google APIのファイルを取り出します。※下記では、GoogleMAP

$ adb pull /system/etc/permissions/com.google.android.maps.xml
$ adb pull /system/framework/com.google.android.maps.jar

3. エミュレータを終了します

4. 以下コマンドにより、既にインテルの高速化対応版となっているシステムイメージを起動します

たいていは、Android APIを使う版のAVD設定で十分だと思います。

$ emulator -avd target device name -partition-size 512

5. 2により取得したフィアルを以下の通り4で起動したエミュレータにpushします

$ adb remount rw
$ adb push com.google.android.maps.xml /system/etc/permissions
$ adb push com.google.android.maps.jar /system/framework

6. 5の状態でシステムイメージを固めるためにYaffs2を使います

7. Yaffs2にてシステムイメージを作成

$ adb push mkfs.yaffs2.x86 /data
$ adb shell
$ cd /data
$ chmod 777 mkfs.yaffs2.x86
$ ./mkfs.yaffs2.x86 /system system.img
$ exit

8. AVDのシステムイメージを、端末ローカルのストレージに取得します

$ adb pull /data/system.img

9. 今作成したイメージをコピーし、次回起動よりこのシステムイメージが起動されるようにします

  • If you would like to replace system image of android API level 18, please replace as below
$ cp system.img android-sdk/system-images/android-18/x86/system.img

10. 9にて置き換えたシステムイメージが起動するAVDのターゲットを再起動します

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中