LoginSignup
1
1

More than 1 year has passed since last update.

Google Chrome OSでAndroid開発環境を整えた(AVD起動も可能)

Last updated at Posted at 2022-04-10

はじめに

開発マシン用にChromebookを購入しました
Intellijをインストールし、Androidアプリを開発可能な状態まで持っていけた事と、他の方が成功していないAVDによるAndroidエミュレーター起動までうまく行ったため方法を残します。

執筆時のバージョン

Soft Ver
Chrome OS 108.0.5359.111
IntelliJ IDEA Ultimate 2022.3.1

Chrome OSでLinux開発環境の有効化

設定 > デベロッパー > Linux開発環境 > オンにする をクリック
Screenshot 2022-04-10 21.14.53.png

次へをクリック
image.png

ユーザー名は好きに付ける。ディクスサイズは20GB程度は必要。
image.png

しばらく待つ
image.png

ターミナルアプリが立ち上がったらインストール完了
image.png

日本語入力、表示を有効化

下記のコマンドをターミナルに流し込んだら、日本語入力は可能な状態になる。

sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
source /etc/default/locale
sudo apt -y install fcitx5-mozc

echo "systemctl --user set-environment GTK_IM_MODULE=fcitx" >> ~/.sommelierrc
echo "systemctl --user set-environment QT_IM_MODULE=fcitx" >> ~/.sommelierrc
echo "systemctl --user set-environment XMODIFIERS=@im=fcitx" >> ~/.sommelierrc
echo "/usr/bin/fcitx5 -d" >> ~/.sommelierrc
fcitx5-configtool

GitやKVMなど必要アプリのインストールとKVMの権限付与

sudo apt -y install adb git libsecret-1-0 gnome-keyring
sudo apt -y install qemu-kvm
sudo gpasswd -a "${USER}" kvm

JetBrains Toolbox Appをインストールし、ToolboxからIntellijまたはAndroid Studioをインストール

下記のコマンドをターミナルに流すと、JetBrains Toolbox Appがインストールされ立ち上がる

wget -cO jetbrains-toolbox.tar.gz "https://www.jetbrains.com/ja-jp/toolbox-app/download/download-thanks.html?platform=linux"
tar -xvzf jetbrains-toolbox*.tar.gz
./jetbrains-toolbox-*/jetbrains-toolbox

image.png

image.png

image.png

ここで、IntelliJ IDEA Ultimate、IntelliJ IDEA Community、Android Studioで必要なものをインストール。
Androidの開発であれば、どれを選択しても可能です。
image.png

AVDが立ち上がるように、ネストされた仮想環境の有効化

くわしくはChrome OSの構造を調べるとわかるが、今まで設定したLinux仮想環境とは、Chrome OS基盤に乗っかったtermina VMの中にネストされた、Debian Containerこそがその本体となる。
https://chromium.googlesource.com/chromiumos/docs/+/master/crostini_developer_guide.md

このDebian Containerはlxcという仮想化ソフトで実行されている。
それで、Android Studioなどで実行されるAVDはKVMという仮想化ソフトで実行されるが、いままでインストールしてきて分かる通り、この実行環境そのものが、lxcの中にいることが理解できると思う。

さて、lxcの実行環境はデフォルトの設定では、その中でネストされた仮想環境は走らないようになっているため、設定を書き換えてやる必要がある。

Chromeを立ち上げ、「ctrl」+「alt」+tでdeveloper shellに入れる。
image.png

ここで、以下のコマンドを実行し、termina VMを起動し中に入る。

vmc start termina

VMの中に入ると、プロンプトの表示が変わるのがわかる。

image.png

ここで、lxcのネストを許可するコマンドを実行し、VMをexitで抜ける

lxc config set penguin security.nesting true
exit

termina VMをストップし、exitでdeveloper shellからも抜ける

vmc stop termina
exit

これで、Android Studioなどから、KVM環境での仮想化、すなわちAVDが実行できるようになる。

Chrome OS側のAndroidエミュレーターを実行したい場合

AVDではなく、Chrome OSに初期搭載されているAndroidエミュレーターにアプリをサイドロードできるように設定するには以下の画面の通り設定が必要です。この設定によりAndroid Studioなどから、開発中のアプリをサイドロードできるようになります。
実行速度はこちらの方が早いです。
また、設定画面にも出てきますが、設定をもとに戻したい場合、出荷状態にPowerwashする必要があります。

Screenshot 2022-04-10 23.43.35.png

Screenshot 2022-04-10 23.44.46.png

Screenshot 2022-04-10 23.45.40.png

さらに、x64版のChromebookではAndroidのバージョンが11になったため、WiFi経由でサイドロードができるようになりました。こちらだとPowerwashすることなくもとに戻せるため、おすすめです。

しかしAVDのように、Android11と12などバージョンを切り替えてデバックすることはできません。あくまでChrome OSに搭載された1バージョンについてのデバックのみ可能です。

最後に

少し設定は面倒ですが、Chrome OSでもWindowsやmacOSのようにAndroidのフル開発環境が手に入るようになってきました。
開発が捗りますね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1