android studioのエミュレーター

android studioのエミュレーター

ionicで作ったアプリの確認にエミュレーターを起動使用として失敗した時のメモ

前半はAVDのインストールしていきます。
私の環境はubuntu mate
低スペックサーバーなので設定は各自で変えてください。

android studioの起動

まず起動しましょう

/opt/android-studio/bin/studio.sh 

私の場合は/optにインストールしましたがそれぞれ自分のインストールしたディレクトリから起動してください。
前回androidstudioをインストールしたログはこちら

プロジェクト作成

とりあえず何でも良いのでproject作成します。
スタート画面
->Start new Android Studio project

プロジェクトの設定

設定画面
プロジェクトの設定を行います
上から、

Application name:プロジェクト名
Company domain:所属
Project location:保存先

です。
適当に決めてNext

気にせずn3ext

テンプレートの選択

projectの選択
プロジェクトのテンプレートを選びましょう。
今回はBasic Activityを選択。

finish

finishボタンを押す
テストプロジェクトなのでここは気にせずFinishボタンを押してプロジェクトを作成してしまいましょう。

AVD Managerの起動

プロジェクトが起動されるのでツールバーからAVD Managerを開きます。

下に有るCreate Virtual DEviceボタンを押して新しくエミュレーターを作成します。
create

ハードウェアの選択

choose a device definition
choose a device definition
左の設定でphoneを選択して、今回はpixel 2の端末を選択しましょう。
これは自分の持ってる機種など好きなものを選ぶと良いと思います。
選択したらNextボタンを

イメージの選択

select a system image
これはインストールしているosによって変わってくると思うのですが
私の場合はx86 Imagesからapiを選んで来なければなりませんでした。
今回はapi 28を選択してNext

ちなみに、ABIの欄に書いてある
i386 i686 x86 が32ビット
x86_64 amd64 が64ビット

最後の設定

verify configuration
AVD nameに自分の覚えやすい端末名をつけておきましょう。
startup orientationはデフォルトで横か縦の起動を選択します。
私はというか大体は縦ですよね。
今回私がハマったところなのですが

Emulated Performance

レンダリングをグラフィックスボードにしたり、ソフトにしたり切り替えや自動にできます。
CPU数の設定もできます。

私のPCのスペックが足りない為かGraphicsをsoftwareに変更しないと起動してすぐ落ちました。なのでsoftwareへ
Graphics Software

その他
show Advanced Settingsを押して項目を増やすとエミュレーターに割り振るメモリを制御することができます。
あまりスペックが高くないPCを使っている時はここでメモリを絞ってやると良いと思います。

ここまでで設定は完了です。
では、テスト起動してみましょう。

テスト起動 Run

起動
android studioのメニュー
Runから
=>Run’アプリ名’
を選択し、
Select Deployment Targetで先程作った端末を選択し、OKボタンを
しばらく待つとエミュレーターが起動してblankのアプリが起動します。

なんかまだエラー起こしますが、とりあえず起動までこぎつけました。

エミュレーター起動までたどり着けないエラー

ここにたどり着くまでのエラーを下記にまとめます。

KVM is required to run this AVD.

エミュレーターを起動するにはまず設定をしないと起動してくれませんが、途中で下記のエラーが発生したのでメモ
KVM is required to run this AVD.

KVM is required to run this AVD.
/dev/kvm device: permission denied.
Grant current user access to /dev/kvm

翻訳
このAVDを実行するには、KVMが必要です。
/ dev / kvm device:アクセス権が拒否されました。
/ dev / kvmへの現在のユーザーアクセスを許可する

アクセス拒否

アクセス権が拒否されましたとのことなので
/dev/kvmにアクセスする権限を割り振ってやる

先にsudo kvm-okで状態を確認

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

翻訳:KVMアクセラレーションを使用できます。

ls -al /dev/kvm
crw-rw---- 1 root kvm 10, 232 10\u6708 16 18:09 /dev/kvm

権限の確認

権限を持つユーザーはrootでグループがkvmに属しています。
ではkvmのグループに誰が入っているかと言うと

grep kvm /etc/group
kvm:x:129

グループにユーザーが入っていません。
なので追加してやりましょう。

グループの追加

sudo adduser ユーザー名 kvm

再度グループの確認

grep kvm /etc/group
kvm:x:129:box

それでも拒否される場合は
sudo chown ユーザー名 /dev/kvm
で権限を書き換えてやる

参考サイト
https://stackoverflow.com/questions/37300811/android-studio-dev-kvm-device-permission-denied

ちなみに今ionicでgradleが見つからないってエラー吐いて困ってるよ。
追伸:どうしてもグラドルって読んでしまいます。 

hoge