WSL2にAndroid Studioを入れた時の手順メモ(2025年6月時点)

## はじめに
タイトル通り、WSL2にAndroid Studioを入れて、エミュレーターでサンプルアプリ(Hello Androidが表示されるだけのやつ)を起動した時の手順を備忘として記事にしました。
この手の記事は検索したらそれなりに見つかるのですが、様々なもののバージョン差異などで書いてあるとおりに実施してみてもエラーになることが多いです。
今回もトライ＆エラーで検索しまくったので、うまくできた手順を自分用メモとして本記事を書きました。


## 環境
OS：Windows 11 Pro
バージョン：24H2(26100.3476)
プロセッサ：i5-8265U CPU @ 1.60GHz   1.80 GHz
実装 RAM：16.0 GB


## WSLのUbuntuをインストールする
Windows11なので仮想環境関連の設定はされているはず！ということでいきなりインストールしてみました。
``` powershell
> wsl --install Ubuntu-24.04
ダウンロード中: Ubuntu 24.04 LTS
インストール中: Ubuntu 24.04 LTS
ディストリビューションが正常にインストールされました。'wsl.exe -d Ubuntu-24.04' を使用して起動できます
```
個人的に、ぱっと見でUbuntuのバージョンが分かると嬉しいと思ったので、ディストリビューションを指定してインストールしています。
※執筆時点では`wsl --install`でも`Ubuntu-24.04`がインストールされました。

ここは特にエラーも出ず、無事インストールされました。


## Ubuntuの初期設定をする
起動するとデフォルトでログインするユーザーの設定を促されるので、任意のユーザー名と、パスワードを2回入力してユーザーを作成しました。
``` bash
> wsl.exe -d Ubuntu-24.04
Provisioning the new WSL instance Ubuntu-24.04
This might take a while...
Create a default Unix user account: androstd
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
```


## Android studioインストール前の事前準備を実施する
まずはjdkが無いとダメという記事を見かけたのでインストールしました。
``` bash
sudo apt update
sudo apt upgrade
sudo apt install openjdk-21-jdk
```

続いて[公式](https://developer.android.com/studio/install?hl=ja#linux)に書かれていた [64 ビットマシンに必要なライブラリ](https://developer.android.com/studio/install?hl=ja#64bit-libs)をインストールしました。
``` bash
$ sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libc6:i386
E: Unable to locate package libncurses5:i386
E: Unable to locate package libstdc++6:i386
E: Unable to locate package libbz2-1.0:i386
E: Couldn't find any package by glob 'libbz2-1.0'
```
ここでエラー発生。
エラーメッセージで検索したところ、i386パッケージを入れるためには事前準備が必要とのことだったので実行しました。
``` bash
sudo dpkg --add-architecture i386
sudo apt update
```
再度インストール実行！！
``` bash
$ sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libncurses5:i386
```
が、またもエラーが発生して、一つだけインストールできませんでした。
こちらは調べるのに苦労しましたが、どうやら`libncurses5`が古いらしく、「`libncurses6`で試してみては？」という[情報を得た](https://forums.linuxmint.com/viewtopic.php?p=2514023#p2514023)ので試してみました。

``` bash
sudo apt install libncurses6:i386
```
今度は無事にインストールできました。公式も書き直しておいて欲しい…。


## Android studioをインストールする
いくつか方法があるようなのですが、自分はWindowsでLinux用のAndroid Studio パッケージをダウンロードしました。(単に手っ取り早かっただけ)
Ubuntuのホームディレクトリにコピーしたら権限が`777`になったので権限変更しました。
``` bash
cp /mnt/c/Users/{username}/Downloads/android-studio-2024.3.2.15-linux.tar.gz .
chmod 644 android-studio-2024.3.2.15-linux.tar.gz
```

解凍してできたディレクトリを`/opt`配下に移動後、セットアップ処理を実行しました。
``` bash
tar -zxvf android-studio-2024.3.2.15-linux.tar.gz
sudo mv android-studio /opt/
sh /opt/android-studio/bin/studio.sh
```

セットアップウイザードが表示されるのでNext連打で進めます。
「License Agreement」はAcceptを選択しないとNextが押せないのでご注意ください。


## サンプルアプリを起動してみる
「Welcome to Android Studio」という画面が表示されるので「New Project」を押してプロジェクトを作成してみました。
New Projectダイアログで「Empty Activity」を選択してNext押下、次画面はデフォルトのままFinish押下でしばらく待ちます。
作業している気配がなくなったらShift+F10押下でアプリを起動してみました。

が、以下のエラーメッセージがpop upで表示されて終了しました。
```
Error running 'app'
/dev/kvm device: permission denied.

Grant current user access to /dev/kvm
```

ということで、[この記事](https://zenn.dev/sangotaro/articles/42e997fb78e9e1#kvm%E3%81%AE%E8%A8%AD%E5%AE%9A)を参考にして権限を追加しました。
``` bash
$ sudo groupadd -r kvm
groupadd: group 'kvm' already exists
$ sudo gpasswd -a $USER kvm
Adding user andro to group kvm
$ sudo vim /etc/wsl.conf
#[boot]配下に以下を追加
command = /bin/bash -c 'chown root:kvm /dev/kvm && chmod 660 /dev/kvm'
```
Android studioを一度終了してから再度実行してみました。

今度は以下のエラーメッセージがpop upで表示されて終了しました。
```
Error running 'app'
The emulator process for AVD Medium_Phone_API_36 has terminated.
```
このエラーは検索しても有益な情報が見つけられず「問題が起きたらログを見ろ！」という初心に立ち返ってログを確認することにしました。

しかし、**ログがどこに出力されているかが分からない**という別の問題に直面……。
検索してもMacならここ、Windowsならここ、という記事しか見つけられず、Linuxだとどこに？となり、結局AndroidStudioが出力するログファイル名の`idea.log`を`find`で検索するという力技で発見しました。
Linuxの場合は **~/.cache/Google/AndroidStudio2024.3/log/idea.log** でした。
※`AndroidStudio2024.3`部分はバージョンによって変わると思うのでご注意ください。

発掘したログを眺めていったところ、怪しげなメッセージが出力されているのを発見！！
```
error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory
```

`apt list libpulse*`を実行したら`libpulse0`が出てきたのでインストールしました。
``` bash
sudo apt install libpulse0
```
Android studioを一度終了してから再々度実行してたところ、ついに！、エミュレーターが起動しました！！

しかし遅い…。
しかもこんなダイアログが出て来たし……。
```
System UI isn't responding
× Close app
○ Wait
```
とりあえず`Wait`を押してしばらく待ったら、無事に「Hello Android」が表示されました。


## 実行コマンドまとめ
Ubuntuインストール
``` powershell
wsl --install Ubuntu-24.04

wsl.exe -d Ubuntu-24.04 --cd ~
```
事前準備

``` bash
sudo apt update
sudo apt upgrade
sudo apt install openjdk-21-jdk

sudo dpkg --add-architecture i386
sudo apt update

sudo apt install libc6:i386 libncurses6:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

sudo groupadd -r kvm
sudo gpasswd -a $USER kvm
sudo vim /etc/wsl.conf
#[boot]配下に以下を追加
command = /bin/bash -c 'chown root:kvm /dev/kvm && chmod 660 /dev/kvm'

sudo apt install libpulse0
```
AndroidStudioインストール
``` bash
cp /mnt/c/Users/{username}/Downloads/android-studio-2024.3.2.15-linux.tar.gz .
chmod 644 android-studio-2024.3.2.15-linux.tar.gz

tar -zxvf android-studio-2024.3.2.15-linux.tar.gz
sudo mv android-studio /opt/
sh /opt/android-studio/bin/studio.sh
```




　
## 参考にした記事
https://takusan.negitoro.dev/posts/windows_wsl2_android_studio/#%E6%9C%AC%E9%A1%8C

https://zenn.dev/sangotaro/articles/42e997fb78e9e1

https://askubuntu.com/questions/637113/unable-to-locate-package-lib32bz2-1-0

https://forums.linuxmint.com/viewtopic.php?t=427976

https://codeforfun.jp/how_to_solve_the_emulator_process_for_avd_has_terminated/