android ubuntu

UbuntuにインストールしたAndroid Studioでエミュレータを新規作成する手順


Photo by Tinh Khuong on Unsplash

はじめに

Ubuntu18.04にインストールしたAndroid Studioを使ってエミュレータを新規作成し、エミュレータを起動するまでの手順をまとめます。

前提と環境

以下の通りです。この記事の内容は、Ubuntu18.04にインストールしたAndroid Studioで実施した流れになりますが、基本的に他のOSのAndroid Studioでも同様の手順になると思います。

  • OS:Ubuntu18.04
  • Android Studio : ver1.2.1
  • Android Studioが導入されたパソコンのCPUで仮想化支援機能(Intel VT-xやAMD-V)が有効になっていること

手順概要

Ubuntu18.04をはじめLinux上でAndroid用のエミュレータであるAndroid Virtual Device(以降、AVD)を作成して動作させるには、KVM(Kernel-based Virtual Machine)を事前準備としてLinuxにインストールする必要があります。と言ってもKVMのインストール作業はコマンド1つで完了し簡単です。
KVMのインストールと設定が完了したら後はAndroid Studio上で簡単にAVDを作成することができます。この記事でははじめにUbuntu18.04にKVMをインストールし、その後Android Studioの実際の画面を掲載しながら手順をまとめます。

事前準備としてUbuntu18.04にKVMをインストールする

KVM対応であるか確認する

KVMが動作するには、使用しているパソコンに搭載されているCPUに仮想化支援機能が備わっている必要があります。そこではじめにKVMが動作できるCPUであるかを確認します。この確認を行うためにcpu-checkerというツールを導入します。

$ sudo apt install cpu-checker

その後、以下のkvm-okコマンドを実行します。以下のようにKVM acceleration can be usedと表示されればKVMが動作可能です。

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

もし以下のように表示されるとKVMは動作できません。したがって、そのままではエミュレータを作成できないため、エミュレータは使わずにAndroid端末実機をデバッグ用に使うか、別のパソコンに変更する必要があります。

$ kvm-ok
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

Ubuntu18.04にKVMをインストールする

Ubuntuの公式ドキュメントに従い、以下のパッケージをインストールします。おおよそ100 MBほどのサイズになります。

$ sudo apt install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

以上でインストール完了です。

一般ユーザをKVMグループに所属させる

KVMはデフォルトでは管理者権限でのみ使用可能になっていると思います。このままだと、Android Studioでエミュレータを新規作成するときにエラーとなります。そこでUbuntuの一般ユーザもKVMを使用できるよう権限を付与します。
まず以下のコマンドを実行してKVMの所有者を確認してみます。

$ ls -al /dev/kvm
crw-rw---- 1 root kvm 10, 232  5月  4 17:06 /dev/kvm

上記から、所有者はroot、権限が付与されているのはkvmというグループに属するユーザになります。

そこでkvmグループに属しているユーザを確認してみます。

$ grep kvm /etc/group
kvm:x:130:

上記から、kvmグループに属しているユーザがいないことがわかります。ユーザが属している場合は、kvm:x:130:usernameというようにユーザ名が続いて表示されます。

そこでkvmグループに自身が使っているユーザを以下のコマンドで追加します。$USERは現在ログイン中のユーザを意味する環境変数です。

$ sudo adduser $USER kvm
[sudo] albion のパスワード:
ユーザー `albion' をグループ `kvm' に追加しています...
ユーザ albion をグループ kvm に追加
完了。

以上で現在ログイン中のユーザがkvmグループに追加されてKVMを使用できるようになります。
最後にログアウト、もしくは再起動して上記の変更を反映させます。ログアウト、再起動のいずれかを実施しないと反映されないため注意してください。

参考サイト様

この流れは以下のサイトを参考にさせて頂きました。ありがとうございます。

KVM/Installation

To run KVM, you need a processor that supports hardware virtualization. Intel and AMD both have developed extensions for their processors, deemed respectively Intel VT-x (code name Vanderpool) and AMD-V (code name Pacifica).

Android Studio: /dev/kvm device permission denied

When I try to run my Android app on an emulator I get this error:
/dev/kvm permission denied.
I checked the permissions and added the user I am currently logged in with to the kvm group. What…

AVD Managerを使ってエミュレータを新規作成する

Android Studioを起動し、メニューの「Tools」→「AVD Manager」をクリックします。

「Your Virtual Devices」というウィンドウが開くので、中央に表示されている「+ Create Virtual Device…」をクリックします。

続いて、ハードウェアのプロファイルを選択します。これはエミュレートする端末のプロファイルとしてどのハードウェアを使用するかの選択になります。2019年5月時点ではデフォルトでは「Pixel 2」が選択されていますので、ここではこのまま進めます。

なお、上記ウィンドウの中の「Play Store」という項目は、エミュレータからGoogle Play Storeにアクセスできるかどうかを意味します。上記の場合、「Pixel」と「Pixel2」のみがGoogle Play Storeへのアクセスに対応しています。

続いてエミュレータにインストールするAndroid OSのシステムイメージを選択します。もしまだAndroid OSのイメージファイルが1つもパソコンにダウンロードされていない場合は、以下のように全て「Download」ボタンが表示されていますので、任意のものをクリックしてダウンロードします。ここでは、Android 9.0 Pieのイメージファイルをダウンロードします。

もしここで赤文字で/dev/kvm device: permission deniedという表示がある場合は、KVMのインストールができていないか、もしくはKVMの使用権限がないことを意味するためこの点について再度確認が必要です。

以下のようにダウンロードが開始されるので少々待ちます。Piのイメージファイルのサイズは864MBほどでした。

以下のように「Done」と表示されてダウンロードが完了したら「Finish」をクリックします。

ダウンロードしたイメージファイルを選択できるようになるので、選択した状態で「Next」をクリックします。

続いてエミュレータにインストールするエミュレータの設定になります。

なお、Advanced settingsでは更に追加で設定を行えます。
ここで設定できる項目については、公式ドキュメントに全てまとめてあるのでそちらをご参照ください。

仮想端末の作成と管理  |  Android Developers

ハードウェア プロファイルのプロパティ

以下のように作成済のエミュレータが一覧表示されて完了です。

一度AVD Managerを閉じて、再度AVD Managerを起動すると、上記のウィンドウが再度開きます。そして新規作成したAVDの「Actions」に緑色の三角ボタンがあるのでそれをクリックするとエミュレータを以下のように起動できます。

以上でエミュレータの新規作成は完了です。今後は、以下のようにデバッグ時に作成したエミュレータを選択できるようになります。

/dev/kvm device: permission deniedと表示される場合

以下のように、システムイメージ選択時のウィンドウで「/dev/kvm device: permission denied」と赤文字で表示されて次に進めない場合は、使用しているパソコンにKVMがインストールされていないか、もしくはKVMの使用権限が一般ユーザに付与されていないのどちからです。

したがって、上記エラーが出た場合は、この記事にも記載したようにまずKVMがインストール済か、KVMの使用権限が一般ユーザに付与されているかをもう一度確認してみてください。

まとめ

エミュレータの使用にKVMが必要とのことで少々面倒なのかと思いましたが、実際には何も問題が出ることもなく簡単に作業できました。

SPONSORED LINK

コメントを残す

メールアドレスが公開されることはありません。