Android studioでAVDエミュレータを動かす。KVMのCPU仮想化はBIOS設定が必要だった!

 

 

こんにちは!しずかなかずしです。

 

本日は唐突に、コンピュータの仮想化技術のKVM (Kernel-based virtual machine)のお話です。

 

仮想化を使いたいケースは色々あると思います。

  • 複数のサーバーシステムを物理的に一台のマシンで運用したい
  • 新しいLinuxのディストリビューションを手軽に試したい
  • 普段はLinuxを使ってるけどWindowsも同時に使いたい

などなど。

 

しかし、今回私がKVMを使い始めたのは別の理由でした。

それが、タイトルにある、Android studioのAVDのスマホのエミュレータです。

Android studioでスマホアプリの開発

ちょっとした理由で、スマホアプリの開発を始めたくなりました。

 

そこで取り出したのは、Android studioという開発環境です。

こちらからダウンロード可能でタダでスマホアプリの開発を始められます。

 

私のパソコンはLinux。Ubuntu 18.04.1 LTSが動いています。これにAndroid studioをセットアップ。

Androidのアプリを開発した事が過去にもありました。現在2019年7月。私がアプリ開発をやっていたのは、多分5,6年以上も前のことだと思います。その当時からすると開発環境のセットアップがかなり楽になった物だと感じます。

 

せっかくなのでエミュレータの設定

もちろん自分のスマホを使ってアプリ開発も可能ですが、エミュレータを使えばパソコンだけで開発ができて便利です。

 

エミュレータとはパソコンの中で、スマホを仮想的に動かすものです。従って、物理的にスマホを持っていなくてもOK。パソコンの中のスマホ(エミュレータ)を使えば大抵の事はできてしまいます。

 

普段使っているスマホの中身が開発で汚れる(!)ような気がしていやだなー、なって心配もありません。

 

という訳で、Android studioで、エミュレータの起動を試みました。

 

ただし、Ubuntuで、Android studioとエミュレータを使うには、色々おまじないが必要のようなのです。

 

ここで登場!仮想化技術KVM

そこで登場したのが仮想化技術のKVMです。

 

最近の仮想化技術は、初めに書いたケース以外に、このようなスマホの開発環境にも使われているのですね。ちょっとした感動を覚えつつ、セットアップをします。

 

幸いなことに、UbuntuのKVMのセットアップ方法は、丁寧な手順書が用意されいます↓(英語)

 

 

必要なソフトウェア・パッケージはapt-getなど、通常のインストール作業です。

しかし、注意しなければいけないのは、BIOSです。

BIOSでCPU(Intel VT-x)の設定

KVMは、CPUの仮想化技術を使います。それが、Intel VT-xです。

 

私の使っているパソコンのCPUはインテルですが、AMDのCPUでも同じような仕組みがあるそうです。

そして、Intel VT-xを有効にする為にはBIOSで有効化する必要があります。場合によってはデフォルトで有効の場合もあるようですが、少なくとも私のマシンでは必要でした。

 

と、言う訳で、BIOSの設定です。

私のPCは数年前に自作したものでマザーボードはASUSのB85M-Eというモデルです。

 

 

CPUはIntel製で、以下のようなシロモノです(cat /proc/cpuinfoの一部)。

 

 

 

 

さて、BIOSに入るには、パソコンの電源を入れて、すかさずF2キーを押します。

ASUSのBIOS設定画面はマウスも使えてかなりいい感じの画面になっています。

しかしながら、仮想化の設定は、Advanced modeで行う必要があります。

 

Intel VT-x BIOS設定Advanced modeを選ぼう!
Intel VT-x BIOS設定: Advanced modeを選ぼう!

Advanced mode の詳細ページの中に、

Intel(R) Virtualization Technology

という設定があるので、「有効」に設定。

Intel VT-x 仮想化のBIOS設定はこちらから
Intel VT-x 仮想化のBIOS設定はこちらから

再起動すると、KVMが使えるようになります。

 

Android スマホのエミュレータが起動!

KVMの設定がうまく行くと、Android studioでHello worldアプリがエミュレータで動きます。

 

エミュレータの種類もデフォルトでいくつか選べます。せっかくなので、自分が持っているGoogleスマホ、Pixel3のエミュレータを選んで見ました。

Ubuntu-Android-Studio-Emulator-AVD-Pixel3
Ubuntu 18.04.1 LTSでPixel3のエミュレータを起動したところ(感動!)

一昔前のエミュレータは何かもっさりしていて使い物にならない印象でした。でも、KVMのCPUの仮想化技術のおかげか、思ったよりスムーズに動きます。Chromeブラウザもエミュレータ上で実用的に使えそうです。

 

それにしても、CPUの仮想化とはいえ、パソコンのCPUはIntelで、AndroidスマホはARM CPU。アーキテクチャが異なります。

 

なにやらもうひと工夫入ってそうな感じです。どなたか、どうやって動いてるのか、教えて下さい!

 

 

あなたへのおすすめ

コメントを残す

関連する投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る
%d人のブロガーが「いいね」をつけました。