Androidエミュレータは遅い!重い!!Intel x86設定で高速化して使うべし

Android

※本ページはプロモーションが含まれています

Androidエミュレータは、普通に使っていると果てしなく遅いですよね・・・

正直、アプリ開発する上では使い物にならないスピードと言っていいでしょう。
実際使い物にならないので、私は実機を使って開発していることが多いです。

参考: Android実機で開発中のアプリを実行する方法

実は、そんなAndroidエミュレータも設定次第ではかなりの速度アップが可能なのです!
(注: 速度アップできるのはAndroid 4.0.3 (API 15)以降に限ります)

この設定をするだけで、

  • 起動時間は2分→20秒に!
  • 起動後の動きはヌルサクに!

なります。

どのくらい違うのかは、こちらの動画を見てみてください。
感動しちゃうくらい違います。

これを見たら、もう高速化せずにはいられないことでしょう (笑

それでは、Androidエミュレータを高速化する設定について紹介していきます!

設定は3STEP

設定は次の3STEPになります。

  1. Intel x86 Atom System Image と、
    Intel x86 Emulator Accelerator (HAXM installer)
    をインストールする
  2. HAXMをインストールする
  3. エミュレータのCPUを「Intel Atom (x86)」に設定する

1.は「Android SDK Manager」からインストール、2.はdmgファイルからインストールすることになります。
(ここではMacでの操作を紹介していますが、Windowsでもやることは一緒です)

では、早速インストールしていってみましょう。

1. Intel x86 Atom System Image、Intel x86 Emulator Accelerator (HAXM installer)をインストールする

まずは必要なライブラリをインストールします。

「Android SDK Manager」からインストールしていきます。

Ss 2014051809140001

Android Studioなら、上の方にあるこのアイコンをクリックすれば「Android SDK Manager」を起動できます。

Eclipseなど、他の環境でも「Android SDK Manager」を起動すれば同じ操作でできますよ。

Android SDK Manager

「Android SDK Manager」で次の2つのライブラリを選択します。

  • Intel x86 Atom System Image
  • Intel x86 Emulator Accelerator (HAXM installer)

ここで、1つ目の「Intel x86 Atom System Image」は、Android APIのバージョンごとにインストールする必要があります。
また、Android 4.0.3 (API 15)以降にしかありません。

私は手持ちの実機が4.0.4なので、Android 4.0.3と4.4.2のライブラリをインストールしています。

「Intel x86 Atom System Image」は各Androidのバージョンのところにあって・・・

Ss 2014051809140002

「Intel x86 Emulator Accelerator (HAXM installer)」は「Extras」のところにあります。

Ss 2014051809140003

それぞれチェックして、インストールしていきましょう。

Ss 2014051809140004

2. HAXMをインストール

「Android SDK Manager」で必要なライブラリはインストールできた気になっちゃいますが、「HAXM」についてはインストーラをダウンロードしただけ。

「HAXM」のインストーラを起動して、別途インストールしてあげる必要があります。

HAXMインストーラがダウンロードされているパス

インストーラがどこにあるかというと・・・

Ss 2014051809140005

「Android SDK Manager」で「Intel x86 Emulator Accelerator (HAXM installer)」のところにマウスカーソルを合わせると、インストーラがダウンロードされた場所が表示されます。

私はAndroid Studioでインストールしたので、こちらにあるそうです。

/Applications/Android Studio.app/sdk/extras/intel/Hardware_Accelerated_Execution_Manager/intelHAXM_1.0.8.dmg

な、長い・・・

Finderで見てみましょう。

なお、「/Applications/Android Studio.app」以下に入っていくには、Finderの「アプリケーション」で「Android Studio」を右クリックし、「パッケージの中身を表示」というのを選びます。

Ss 2014051809140018

すると、「/Applications/Android Studio.app」以下に入っていけるので、そこから「sdk/extras/intel/Hardware_Accelerated_Execution_Manager/intelHAXM_1.0.8.dmg」を探します。

Ss 2014051809140006

ありましたね。

このファイルをダブルクリックすると、インストーラが表示されます。

HAXMインストーラでHAXMをインストール

Ss 2014051809140007

インストーラが表示されたら、ダブルクリックしてインストールを開始しましょう。

Ss 2014051809140008

インストーラを起動するとこんなこと言われますが、怯まず「続ける」をクリック。
あとはインストーラにしたがってインストールしていきましょう。

Memory Limit の設定

なお、1箇所だけ注意が必要な設定があります。

Ss 2014051809140009

ここでエミュレータのメモリを設定する必要があるんですね。

私が使っているMacBook Pro (Retina, 13-inch, Late 2013)はメモリを16GB積んでいるので2Gくらい割り振っても平気でしたが、ここの設定はコンピュータのメモリ量に合わせて設定してください。

エミュレータがメモリを食いすぎて、スワッピングが発生するようなら、高速化した意味がないですからね・・・ (^^;

最低でも1024MBくらいはあった方がよさそうです。

ここの設定は後でエミュレータを作成する際に使うので覚えておいてください!

3. エミュレータのCPUを「Intel Atom (x86)」に設定

最後にエミュレータを設定していきましょう。

まずは「Android Virtual Device Manager」を起動します。
Android Stdioなら、上の方にあるアイコンから起動できます。

Ss 2014051809140010

「Android Virtual Device Manager」で、エミュレータを作っていきます。

Ss 2014051809140011

ボタン「New…」をクリックすると、エミュレータの設定画面がでてきます。

CPU設定を「Intel Atom (x86)」に

ここまでのインストールがうまくいっていれば、CPU設定のところに「Intel Atom (x86)」というのが表示されるようになります。

Ss 2014051809140012

もちろん、これを選んでくださいね。

CPU/ABI、Memory OptionsのRAM、Emulation Optionsの3ヶ所を設定しよう

Ss 2014051809140013

高速化設定に必要なのはこの3箇所。

  • CPU/ABI: Intel Atom (x86)
  • Memory Options: RAMの欄はHAXMをインストールするときに設定した値以下にすること!
  • Emulation Options: Use Host GPU

「Memory Options」の「RAM」欄を、先の「2. HAXMをインストール」でインストール中に設定した「Memory Limit」の値以下にすることを忘れないでください。

もしそこで1024MBにしたなら、エミュレータも1024MBにしましょう。

「Emulation Options」の「Use Host GPU」を有効にしてうまく動かない場合は無効にしてください。
うちのMacではここを有効にしても特に問題なく動いています。

エミュレータを起動!

これで高速化設定したエミュレータが作れました。

新しく作成したエミュレータを起動してみますよ。

Ss 2014051809140014

新しく作成したエミュレータを選んで、ボタン「Start…」をクリック

Ss 2014051809140015

ここまでの設定がうまく行っていれば、
HAX is working and emulator runs in fast girt mode
という表示がコンソールに出ます。

もし「HAX is not working and emulator runs in emulation mode」と出ているようなら、設定がうまく行っていません。
おそらくエミュレータを作成するときにメモリの量を多く設定していると思うので、見なおしてみてください。

参考: Androidエミュレータを高速化しよう!設定が間違っていたら高速動作しません

エミュレータ起動完了まで20秒!

さあ、高速化設定したエミュレータが起動しました。

何もしなかったら2分くらいかかっていたのが、20秒で起動しちゃいましたね。

Ss 2014051809140016

動きもヌルサクになっていて素晴らしいです!

Ss 2014051809140017

最新機種向けのアプリを開発する際は、ぜひこの高速化設定をしてみてください!!

おわりに

Androidエミュレータを高速化する設定方法を紹介しました。

あんなに遅かったエミュレータがこんなに速くなっちゃうなんて!?というくらい違います。

動作原理については詳しく触れませんが、デフォルトだと「CPUをエミュレートした上でAndroidエミュレータが動いていた」のが、「CPUをネイティブで使ってAndroidエミュレータが動く」ようになったとでも思ったらよさそうです。

そのため、普通にJavaだけで開発したなら何も問題ないですが、もしC/C++で作ったコードをコンパイルして作ったネイティブバイナリを使うようなアプリだとまともに動きません。
そのようなアプリを作る場合は、コンパイル時にARM用とIntel用のネイティブバイナリを作るとか、ちょっと工夫が必要になります。

私はそこまでゴリゴリ作ることはないので、今回の設定で十分ですね (^_^)

これまで実機を使って実験していたのですが、ちょっと実験するだけならこのエミュレータで十分になりました。
実機とMacをケーブルでつなぐとか、何かと面倒なこともありましたからねー。

ぜひ試してみてください!

関連記事:

関連動画:

タイトルとURLをコピーしました