Androidアプリの開発で利用するAndroid SDKには、AVD (Android Virtual Device) という、Android端末のエミュレータが付属されています。実機を持っていなくても、パソコンだけでデバッグができたり、画面キャプチャを取ることができて非常に便利です。

しかしながらこのエミュレータ、使ってみると感じますが、通常の設定のままでは動作が非常に緩慢で、「重い」という感想をお持ちの方も多いのではないでしょうか。

そこで今回は、このエミュレータを高速化する手順をご紹介いたします。Android Developers(リンクは下方で添付しています)でも紹介されている方法で、非常に簡単にエミュレータの高速化が可能です。実際に、こちらの映像を御覧ください。

https://www.youtube.com/watch?v=Inmw4MKztec


画面左が通常のエミュレータ、右がHAXMで高速化したエミュレータです。
左が起動に約1分掛かっているのに対し、右は約10秒です。

通常のエミュレータはなぜ重い

Android端末のほとんどがARMのCPUを採用しています。これに対し、開発に使うパソコンのCPUはIntel x86の場合が多いです。Androidアプリの開発に際して利用するデフォルトのAndroidエミュレータは、x86 CPUがARM CPUを仮想化し、ARM版Android OSが動作させています。そのため、効率的な仮想化が行われず、このギャップがAndroidエミュレータの動作を重くします。

エミュレータを高速化するための環境

そこで、以下のCPUシステムのいずれかを利用することで仮想化を効率的に行うことができるようになります。
  • Intel Virtualization Technology (VT, VT-x, vmx)
  • AMD Virtualization (AMD-V, SVM) extensions (only supported for Linux)
もし、これらを利用していないCPUの場合には、エミュレータの高速化はできませんのでご了承ください。また、エミュレータを高速化するには以下のものをAndroid SDK Managerからインストールする必要があります。
  • Android SDK Tools, Revision 17以降
  • Android x86-based system image
また、パソコンのデフォルトのBIOS設定によっては仮想化設定が無効化されている場合があります。その場合にはBIOS設定から仮想化設定を有効にしてください。