rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

android studioをubuntu 20.04にインストール

2020 Sep. 22.
2020 Sep. 19
2020 Sep. 16.
2020 Sep. 13.

64bit Linuxでは32bit用のライブラリをインストール

kvmの利用にかかわらず必要)
# apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

kvm対応のavdを作成可能なcpu要件

cpu要件 Run apps on the Android Emulator  |  Android Developers を参照
Linux 上の AMD プロセッサ: AMD Virtualization(AMD-V)およびストリーミング SIMD 拡張命令 3 補足命令(SSSE3)をサポートする AMD プロセッサ。
Linux 上の Intel プロセッサ: Intel VT-x、Intel EM64TIntel 64)、Execute Disable(XD)ビット機能をサポートする Intel プロセッサ。

各cpuの拡張命令対応 CPUの拡張命令対応表 - merom686's blog を参照
 AMD Athlon(tm) 64 X2 Dual CoreはSSSE3を持たないので不可。

kvm対応可否確認

# apt install cpu-checker
$ kvm-ok
  INFO: /dev/kvm exists
  KVM acceleration can be used

$ egrep -c '(vmx|svm)' /proc/cpuinfo
2

kmvをインストール

KVM/Installation - Community Help Wiki を参照
# apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

ユーザーをlibvirtグループとkvmグループに所属させる

# adduser `id -un` libvirt
# adduser `id -un` kvm

いったん再起動

# reboot

kvmデーモン稼働確認

# systemctl is-active libvirtd
  active

稼働していなかったら

# systemctl enable libvirtd --now

android studioをインストール

# snap refresh
# snap install android-studio --classic

下記はAndroidエミュレーターの音声不具合の対応とのことだが、snap.android-studioが存在しなかったので未実施
# ln -s /run/user/USER-ID/pulse/native /run/user/USER-ID/snap.android-studio/pulse/

環境変数を設定

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

android studioを起動する。

初回起動時では設定ウィザードが始まり、新規プロジェクトの作成まで進む。
参照 Ubuntu 18.04 LTS DesktopにAndroid Studioをインストール

$ android-studio
  新規プロジェクトの作成まで進んだが、プログラムが落ちてしまった。
  再度 android-studioを実行してもまた落ちた。
  PCを再起動して再度実行すると正常動作した。

  AVDを作成
   KVMx86システムイメージのみ有効なのでこれを作成する。
    Android SDK ManagerでShow Package Detailsにチェックを入れ、表示された画面からx86 System Imageをインストールする。
     Android Virtual Device Managerから「Intel Atom (x86)」を選択してAVDを作成
      32bitと64bitがあるが、どちら?

kvmを有効にしてemulatorを起動

個人的な φ(`д´)メモメモ…: LinuxでもKVMを使用してAndroid Virtual Device (AVD)の高速実行 より

 $ find ~/Android/ -name emulator

 $ DIR/emulator -avd -qemu -m 512 -enable-kvm

 他に引数を渡したい場合は、-qemuオプションの前に指定する。
  $ DIR/emulator -avd -scale 125dip -qemu -m 512 -enable-kvm