UbuntuにインストールしたAndroid Studioでエミュレータを新規作成する手順
はじめに
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を使用できるようになります。
最後にログアウト、もしくは再起動して上記の変更を反映させます。ログアウト、再起動のいずれかを実施しないと反映されないため注意してください。
参考サイト様
この流れは以下のサイトを参考にさせて頂きました。ありがとうございます。
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).
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では更に追加で設定を行えます。 ここで設定できる項目については、公式ドキュメントに全てまとめてあるのでそちらをご参照ください。
一度AVD Managerを閉じて、再度AVD Managerを起動すると、上記のウィンドウが再度開きます。そして新規作成したAVDの「Actions」に緑色の三角ボタンがあるのでそれをクリックするとエミュレータを以下のように起動できます。
以上でエミュレータの新規作成は完了です。今後は、以下のようにデバッグ時に作成したエミュレータを選択できるようになります。
/dev/kvm device: permission deniedと表示される場合
以下のように、システムイメージ選択時のウィンドウで「/dev/kvm device: permission denied」と赤文字で表示されて次に進めない場合は、使用しているパソコンにKVMがインストールされていないか、もしくはKVMの使用権限が一般ユーザに付与されていないのどちからです。したがって、上記エラーが出た場合は、この記事にも記載したようにまずKVMがインストール済か、KVMの使用権限が一般ユーザに付与されているかをもう一度確認してみてください。
まとめ
エミュレータの使用にKVMが必要とのことで少々面倒なのかと思いましたが、実際には何も問題が出ることもなく簡単に作業できました。関連記事
- 公開日:2020/02/10 更新日:2020/02/10
UbuntuをmacOSのCatalinaっぽい見た目にする
UbuntuのデスクトップをmacOSのCatalinaっぽくするためのカスタマイズ手順をまとめます。
- 公開日:2019/12/31 更新日:2019/12/31
How to update Ubuntu's Kernel only
This article show you how to update Ubuntu's kernel using ukuu(Ubuntu Kernel Update Utility).
- 公開日:2019/12/23 更新日:2019/12/23
複数デバイス間でローカルのファイルを無制限に同期できるSyncthingをLinuxで使用する手順
Syncthingはローカルにあるファイルを複数のデバイス間で同期することができるオープンソースソフトウェアです。クラウド経由でファイルを同期するのではなく、ローカル同士で同期します。この記事ではUbuntuとAndroidでSyncthingを使用してファイルを同期するまでをまとめます。
- 公開日:2019/12/09 更新日:2019/12/09
Google Play Consoleに登録してデベロッパーアカウントを作成する手順
Android用にアプリをGoogle Play Storeで公開して配布するには、まずGoogle Play Consoleに登録してデベロッパーアカウントを作成する必要があります。この記事ではこの手順をまとめます。
- 公開日:2019/12/03 更新日:2019/12/03
Android App Bundleを実機にインストールして試すために使うbundletoolの使い方
Flutterなどで開発したAndroidアプリを自分の手元にある実機にインストールして試したい場合はbundletoolを使用するよう公式ドキュメントに記載されています。ただ、常識であるためなのか詳しい使い方が書かれておらず戸惑ったのでメモしておきます。