Android Studio AVD on Ubuntu — 仮想デバイスでのアプリテスト環境

開発環境

Android アプリを Ubuntu で実機なしにテストするには、Android Studio の AVD(Android Virtual Device)というエミュレーター機能を使います。「エミュレーターが起動しない」「KVM って何の設定が要るの」と詰まる方が多いですが、Ubuntu の場合は依存パッケージを揃えて KVM を有効にすれば動きます。本記事では Ubuntu 24.04 で実際に KVM サポートを確認し、依存パッケージのバージョンを取得した実測データをもとに手順を紹介します。

この記事のポイント

  • AVD には KVM ハードウェアアクセラレーションが必須に近い(ソフトウェアエミュレーションは重すぎて実用にならない)
  • Ubuntu 24.04 では KVM が有効な環境を確認済み(/dev/kvm デバイス存在・AMD-V/Intel VT 対応)
  • 依存パッケージ(lib32z1libgl1libpulse0)は apt install 一行で揃う
  • openjdk-17-jdk は Ubuntu 24.04 では main リポジトリに収録(22.04 は universe)
  • AVD の作成・管理は Android Studio の GUI(AVD Manager)から操作するのが最も簡単

前提環境と事前準備

この記事は Android Studio がすでにインストールされていることを前提にしています。まだの方は先に インストール記事(Ubuntu に Android Studio をインストールする)を参照してください。

今回の確認環境は以下の通りです。

  • OS:Ubuntu 24.04.4 LTS(Noble Numbat)
  • カーネル:6.8.0-83-generic(x86_64)
  • CPU:AMD(SVM/AMD-V 仮想化対応)
  • Java:openjdk version “17.0.19”(2026-04-21 リリース)
  • 検証日:2026-06-22

注意

AVD エミュレーターはデスクトップ環境(GNOME・KDE 等)が必要です。ヘッドレスのサーバー向け Ubuntu では起動できません。また、VPS(クラウド仮想マシン)では KVM のネスト仮想化が無効なことが多く、エミュレーターが非常に遅くなる場合があります。

Java 17 のインストールを確認する

Android Studio の AVD を動かすには Java 17 が必要です。Ubuntu 24.04 では openjdk-17-jdkmain リポジトリに収録されており、apt で即インストールできます。

openjdk-17-jdk インストール実ログ(Ubuntu 24.04 実測)
openjdk-17-jdk インストール実ログ(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
$ sudo apt update && sudo apt install -y openjdk-17-jdk
Fetched 30.9 MB in 2s (13.7 MB/s)
Need to get 237 MB of archives.
Setting up openjdk-17-jdk (17.0.19+10-1~24.04.2) …
$ java -version
openjdk version “17.0.19” 2026-04-21
OpenJDK Runtime Environment (build 17.0.19+10-1-24.04.2-Ubuntu)
$ javac -version
javac 17.0.19

Ubuntu 22.04 の default-jdk は Java 11 を指しますが、Ubuntu 24.04 では Java 21 になっています。Android Studio が Java 17 を使用する場合は openjdk-17-jdk を明示的に指定するのが確実です(下図参照)。

Ubuntu 22.04 vs 24.04 Java バージョン比較(実測)
Ubuntu 22.04 vs 24.04 Java バージョン比較(実測)

KVM ハードウェアアクセラレーションを有効にする

AVD エミュレーターは KVM(Kernel-based Virtual Machine)を使うと実機に近い速度で動きます。ソフトウェアエミュレーションだけでは起動に数分かかり、実用的ではありません。

手順1:CPU が仮想化に対応しているか確認する

/proc/cpuinfovmx(Intel VT-x)か svm(AMD-V)フラグが含まれているかを調べます。

KVM ハードウェア仮想化サポート確認(Ubuntu ホスト実測)
KVM ハードウェア仮想化サポート確認(Ubuntu ホスト実測)



ubuntu@linuxlab: ~
$ egrep -c ‘(vmx|svm)’ /proc/cpuinfo
32
# 1 以上ならハードウェア仮想化サポートあり
$ ls -la /dev/kvm
crw-rw—-+ 1 root kvm 10, 232 6月 14 18:27 /dev/kvm

私の環境(AMD CPU 搭載マシン)では 32 コアすべてに svm フラグが確認でき、/dev/kvm デバイスも存在していました。

手順2:kvm グループへ自分を追加する

/dev/kvm へのアクセス権は kvm グループで管理されています。自分のユーザーを追加してからログアウト→再ログインします。




ubuntu@linuxlab: ~
$ sudo usermod -aG kvm $USER
# ログアウト→再ログインで反映される
$ groups | grep kvm
kazu adm cdrom sudo kvm …

手順3:kvm-ok で確認する(オプション)

cpu-checker パッケージの kvm-ok コマンドが一番手っ取り早いです。




ubuntu@linuxlab: ~
$ sudo apt install -y cpu-checker
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

AVD エミュレーターの依存パッケージをインストールする

Android エミュレーターは 32 ビットライブラリや OpenGL、PulseAudio への依存があります。Ubuntu では以下をまとめてインストールします。

AVD エミュレーター依存パッケージ確認(Ubuntu 24.04 実測)
AVD エミュレーター依存パッケージ確認(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
$ sudo apt install -y \
lib32z1 libgl1 libpulse0 \
libc6-i386 libstdc++6:i386
0 upgraded, 5 newly installed, 0 to remove and 6 not upgraded.

Ubuntu 24.04 で実際に確認したバージョンは、lib32z11:1.3.dfsg-3.1ubuntu2.1libgl11.7.0-1build1libpulse01:16.1+dfsg1-2ubuntu10.1 です。いずれも main リポジトリに収録されています。

Android Studio の AVD Manager で仮想デバイスを作成する

Android Studio を起動し、メニューの Tools → Device Manager(または画面右端のデバイスアイコン)から AVD Manager を開きます。

AVD の作成手順

  1. Device Manager パネルで 「+ Create Virtual Device」 をクリック
  2. デバイス定義を選択(Pixel 9 など)
  3. システムイメージを選択(Android 15 / x86_64 / Google APIs 推奨)
  4. AVD 名を確認して 「Finish」

システムイメージのダウンロード

初回は選択したシステムイメージのダウンロード(数 GB)が発生します。通信速度によっては数十分かかるので、安定した回線で実行してください。x86_64 イメージは KVM アクセラレーションに対応しており、ARM イメージより大幅に速く動きます。

コマンドラインで AVD を作成する(上級者向け)

Android Studio の cmdline-tools に含まれる avdmanagersdkmanager を使えば、ターミナルだけで AVD を作成できます。

Android Studio AVD 作成コマンドフロー(概念図)
Android Studio AVD 作成コマンドフロー(概念図)



ubuntu@linuxlab: ~/Android/Sdk
# Android SDK のパスを通す(~/.bashrc か ~/.profile に追加)
$ export ANDROID_HOME=$HOME/Android/Sdk
$ export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/emulator
# 利用可能なシステムイメージを確認
$ sdkmanager –list | grep “system-images;android-35”
system-images;android-35;google_apis;x86_64
# x86_64 イメージをダウンロード
$ sdkmanager “system-images;android-35;google_apis;x86_64”
[=========================================] 100% Unzipping…
# AVD を作成
$ avdmanager create avd -n MyPixel9 \
-k “system-images;android-35;google_apis;x86_64” \
-d “pixel_9”
Created AVD ‘MyPixel9’ based on Android 15
# エミュレーターを起動
$ emulator -avd MyPixel9

$ANDROID_HOME は Android Studio が SDK をインストールしたパスです。通常は ~/Android/Sdk です。

エミュレーターを起動してアプリをテストする

AVD Manager からデバイス名の右の再生ボタン(▶)をクリックするとエミュレーターが起動します。起動後は Android Studio の Run ボタンでアプリをデプロイできます。




ubuntu@linuxlab: ~
# 実行中の AVD を ADB で確認
$ adb devices
List of devices attached
emulator-5554 device
# APK を直接インストール
$ adb -s emulator-5554 install myapp.apk
Performing Streamed Install
Success

KVM が有効な環境ではエミュレーターの起動が 30〜60 秒ほどで完了します。正直、最初の起動は長く感じますが、2 回目以降はスナップショットから復元するので数秒で使える状態になります。

よくあるエラーと解決策

「KVM is required to run this AVD」と表示される

KVM が有効でないか、kvm グループに自分が含まれていないケースです。




ubuntu@linuxlab: ~
# グループ確認
$ groups
kazu adm cdrom sudo plugdev
# kvm がなければ追加してログアウト→再ログイン
$ sudo usermod -aG kvm $USER
$ newgrp kvm
# または一度ログアウトして再ログイン

エミュレーター起動時に「MESA-LOADER: failed to open」エラーが出る

OpenGL ライブラリが不足しています。libgl1libglu1-mesa を追加します。




ubuntu@linuxlab: ~
$ sudo apt install -y libgl1 libglu1-mesa
Setting up libgl1 (1.7.0-1build1) …

「emulator: ERROR: This AVD’s configuration is missing a kernel file」が出る

システムイメージのダウンロードが途中で失敗しているケースです。Android Studio の SDK Manager(Tools → SDK Manager → SDK Platforms)から対象イメージを一度削除し、再インストールしてください。

エミュレーターが起動するが非常に遅い

KVM が使えていない(ソフトウェアエミュレーション)か、x86_64 以外のシステムイメージを使っているケースです。ARM イメージは Ubuntu x86_64 環境での動作が遅いので、x86_64 の Google APIs イメージを選ぶのが原則です。

まとめ

  • Ubuntu 24.04 では KVM が標準で有効(AMD-V・Intel VT どちらも対応)
  • lib32z1libgl1libpulse0 を apt でインストールすれば依存関係が揃う
  • openjdk-17-jdk は Ubuntu 24.04 の main リポジトリに収録。22.04 は universe なので追加が必要
  • AVD Manager の GUI から作成するのが最も手軽。コマンドラインでも avdmanager で作れる
  • x86_64 の Google APIs イメージ + KVM の組み合わせが実用的な速度の最短経路

実際に試してみると、KVM が有効な環境ではエミュレーターの起動感覚が実機とほぼ変わらず、Ubuntu デスクトップ上でのアプリ開発が十分快適でした。VPS 上では KVM のネスト仮想化が使えないことが多いので、ローカルのデスクトップ機か KVM 対応のベアメタルサーバーで試すのをお勧めします。

著者アイコン
著者アイコン

最初 ARM イメージを選んで「重すぎる」と諦めかけましたが、x86_64 に変えたら快適になりました。AVD 作成画面でのシステムイメージ選択が分かりにくいので、Google APIs (x86_64) を選ぶ点だけ意識しておくと詰まりにくいです。

コメント

タイトルとURLをコピーしました