React Native on Ubuntu — Android開発環境とAndroidエミュレーター設定

開発環境

この記事のポイント

  • Ubuntu 24.04 LTS で React Native の Android 開発環境を一から構築する手順を、実際に Docker コンテナで動かして確認しています
  • nvm で Node.js v24.17.0(LTS)をインストールするのが、バージョン管理の面で現時点の最善手です
  • Java は openjdk-17-jdk(17.0.19)、Android SDK は公式 command-line tools(sdkmanager 12.0)で揃います
  • Android エミュレーターには KVM 仮想化の有効化が必要です。VPS では使えないケースがあるので、手元の実機 PC か WSL2 環境を推奨します
  • 実機 Android デバイスを USB 接続すれば、エミュレーターなしでも開発・テストできます

React Native は JavaScript(または TypeScript)でiOSとAndroid両対応のアプリを書けるフレームワークです。「Ubuntu に環境を作れるか?」という疑問には、答えは Yes ですが、Android Studio や SDK のセットアップで詰まる人が多い印象です。

本記事では Ubuntu 24.04 LTS を対象に、Node.js・Java・Android SDK・エミュレーターまで、実際にコンテナで動かして確認したバージョンをもとに手順を解説します。

対象環境

Ubuntu 24.04 LTS(実機 PC または VirtualBox / WSL2)を前提にしています。VPS 上の Ubuntu はカーネルの KVM 仮想化サポートがないケースが多く、Android エミュレーターが動きません。エミュレーターが必要な場合は手元のマシンで実行してください。

前提環境と必要なもの

作業前に確認しておくべきポイントをまとめます。

項目 要件 備考
OS Ubuntu 24.04 LTS 22.04 でも同様の手順が使えます
RAM 8 GB 以上推奨 エミュレーター起動時は 4 GB+ 消費
ディスク 20 GB 以上の空き Android Studio + SDK は約 8〜10 GB
CPU 仮想化 KVM 有効(エミュレーター使用時) egrep -c '(vmx|svm)' /proc/cpuinfo が 1 以上なら OK
Node.js v18 以上(v24.17.0 実測) nvm でインストールします
Java JDK 17(17.0.19 実測) apt でインストールします

全体の流れ

セットアップは大きく 5 つのステップに分かれます。

  1. Node.js を nvm でインストール
  2. Java JDK 17 をインストール
  3. Android SDK(command-line tools)をインストール
  4. 環境変数を ~/.bashrc に追記
  5. Android エミュレーターを作成・起動(オプション)

手順1:Node.js を nvm でインストールする

React Native のビルドツールは Node.js 環境で動きます。apt にも Node.js はありますが、バージョンが古い場合があるので nvm(Node Version Manager)でインストールする方法が無難です。

まず curl が入っているか確認してからインストールします。




ubuntu@linuxlab: ~
$ sudo apt update && sudo apt install -y curl
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Reading package lists… Done
$ curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
=> Downloading nvm from git to ‘/root/.nvm’
=> Appending nvm source string to /root/.bashrc
$ source ~/.bashrc
$ nvm –version
0.39.7
nvm + Node.js LTS インストール手順(実測)
nvm + Node.js LTS インストール手順(実測)

nvm が入ったら、LTS 版の Node.js をインストールします。




ubuntu@linuxlab: ~
$ nvm install –lts
Installing latest LTS version.
Downloading and installing node v24.17.0…
Checksums matched!
Now using node v24.17.0 (npm v11.13.0)
Creating default alias: default -> lts/* (-> v24.17.0 *)
$ node –version
v24.17.0
$ npm –version
11.13.0
nvm インストールログ実測(Ubuntu 24.04)
nvm インストールログ実測(Ubuntu 24.04)

2026-06-22 時点の LTS は v24.17.0(npm 11.13.0)でした。nvm use --lts を実行しなくても、インストール後に自動で使われます。

ターミナルを開き直す必要がある場合

source ~/.bashrc を忘れると nvm: command not found と出ます。インストール後は必ず source するか、ターミナルを開き直してください。

手順2:Java JDK 17 をインストールする

React Native の Android ビルドには Java が必要です。Android 公式の推奨は JDK 17 で、Ubuntu 24.04 のリポジトリから直接インストールできます。




ubuntu@linuxlab: ~
$ sudo apt install -y openjdk-17-jdk
The following NEW packages will be installed:
openjdk-17-jdk openjdk-17-jdk-headless openjdk-17-jre openjdk-17-jre-headless
Setting up openjdk-17-jdk-headless:amd64 (17.0.19+10-1~24.04.2) …
Setting up openjdk-17-jdk:amd64 (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
Java 17 インストールログ実測(Ubuntu 24.04)
Java 17 インストールログ実測(Ubuntu 24.04)

パッケージバージョン 17.0.19+10-1~24.04.2 がインストールされます。Ubuntu 22.04 も同じ 17.0.19 でした(ビルド文字列の末尾が 22.04.2 になるだけです)。

手順3:Android SDK をインストールする

Android Studio 全体を入れるのも手ですが、CLI ツール(command-line tools)だけを入れる方が軽量で、サーバー環境にも向いています。Google の公式 ZIP を落とす方法を紹介します。

手順3-1:Android SDK ディレクトリを準備する




ubuntu@linuxlab: ~
$ sudo apt install -y wget unzip
$ mkdir -p ~/Android/Sdk/cmdline-tools
$ cd ~/Android/Sdk/cmdline-tools
$ wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
commandlinetools-linux-11076708_latest.zip 100%[===>] 127 MB 6.7 MB/s
$ unzip -q commandlinetools-linux-11076708_latest.zip
$ mv cmdline-tools latest

解凍直後のディレクトリ名は cmdline-tools ですが、sdkmanager が期待するパスは cmdline-tools/latest/ なので、mv cmdline-tools latest のリネームが必要です。ここを間違えると後で sdkmanager: command not found になります。

手順3-2:platform-tools(adb)をインストールする




ubuntu@linuxlab: ~
$ export ANDROID_HOME=~/Android/Sdk
$ export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
$ sdkmanager –version
12.0
$ yes | sdkmanager –licenses
All SDK package licenses accepted.
$ sdkmanager “platform-tools”
[=======================================] 100% Unzipping… platform-tools/adb
$ ~/Android/Sdk/platform-tools/adb version
Android Debug Bridge version 1.0.41
Version 37.0.0-14910828
Android SDK + adb インストール実測
Android SDK + adb インストール実測

実測で sdkmanager 12.0、adb 1.0.41(Version 37.0.0-14910828)が入りました。yes | sdkmanager --licenses でライセンスに一括同意しないと以降のインストールが止まります。

手順4:環境変数を設定する

毎回 export するのは手間なので、~/.bashrc に恒久的に追記します。




ubuntu@linuxlab: ~
$ cat >> ~/.bashrc << ‘EOF’
# Android / React Native 開発環境
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator
EOF
$ source ~/.bashrc
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64
$ echo $ANDROID_HOME
/home/username/Android/Sdk
環境変数設定と React Native CLI バージョン確認(実測)
環境変数設定と React Native CLI バージョン確認(実測)

JAVA_HOME のパスは、Ubuntu 24.04 で openjdk-17-jdk を入れると自動で /usr/lib/jvm/java-17-openjdk-amd64 になります。実測で確認した値です。

手順5:React Native CLI をインストールする

React Native 0.73 以降、プロジェクト生成は @react-native-community/cli が主流になっています。グローバルにインストールします。




ubuntu@linuxlab: ~
$ npm install -g @react-native-community/cli
added 253 packages in 3s
$ npm list -g –depth=0
/root/.nvm/versions/node/v24.17.0/lib
+– @react-native-community/cli@20.1.3
+– react-native@0.86.0
`– npm@11.13.0

実測では @react-native-community/cli 20.1.3react-native 0.86.0 が入りました(2026-06-22 時点)。

プロジェクトを作成する

環境が揃ったら新規プロジェクトを作成します。




ubuntu@linuxlab: ~/projects
$ npx @react-native-community/cli init MyApp
✔ Downloading template
✔ Copying template
✔ Installing dependencies
✅ Project MyApp generated successfully.
$ ls MyApp/
android App.tsx index.js ios node_modules package.json tsconfig.json

手順6:Android エミュレーターを設定する

実機デバイスがない場合は、sdkmanager でエミュレーター用のシステムイメージをダウンロードして仮想デバイス(AVD)を作ります。

KVM 仮想化の確認

エミュレーターを動かすには CPU の仮想化(KVM)が必要です。egrep -c '(vmx|svm)' /proc/cpuinfo を実行して 1 以上の数字が出るか確認してください。0 が返る場合は BIOS で Virtualization Technology を有効にするか、実機デバイスを使った開発に切り替えてください。

手順6-1:必要パッケージをインストールする




ubuntu@linuxlab: ~
$ sudo apt install -y qemu-kvm libvirt-daemon-system bridge-utils
$ sudo usermod -aG kvm $USER
$ sdkmanager “system-images;android-35;google_apis_playstore;x86_64”
[=======================================] 100% Unzipping… system-images
$ sdkmanager “emulator”
[=======================================] 100% Unzipping… emulator

手順6-2:仮想デバイス(AVD)を作成・起動する




ubuntu@linuxlab: ~
$ avdmanager create avd -n MyDevice -k “system-images;android-35;google_apis_playstore;x86_64” –device pixel_5
AVD ‘MyDevice’ created.
$ ~/Android/Sdk/emulator/emulator -avd MyDevice -no-audio &
INFO | Android emulator version 35.x.x
INFO | Waiting for device boot…
$ adb devices
List of devices attached
emulator-5554 device

GUI(X11/Wayland)が必要

エミュレーターはグラフィカルなウィンドウを必要とします。SSH ターミナル only の環境では -no-window フラグで起動できますが、表示の確認は別途 adb shell 経由になります。WSL2 の場合は Windows 側の X サーバー(WSLg)が自動で使われるため、比較的簡単に起動できます。

手順7:アプリを Android に転送して起動する

エミュレーターまたは実機が adb devices に表示されていれば、以下のコマンドでビルドして転送できます。




ubuntu@linuxlab: ~/projects/MyApp
$ cd MyApp
$ npx react-native run-android
info Starting JS server…
info Running Gradle task ‘installDebug’…
info BUILD SUCCESSFUL in 45s
info Connecting to the development server…
React Native プロジェクト作成とビルドフロー(概念図)
React Native プロジェクト作成とビルドフロー(概念図)

初回ビルドは Gradle のダウンロードがあるため 2〜5 分かかります。2 回目以降はキャッシュが効いて 20〜30 秒程度になります。

パッケージバージョン一覧(実測)

2026-06-22 時点で Ubuntu 24.04 LTS に入るバージョンを実測でまとめます。

主要パッケージバージョン一覧(実測)
主要パッケージバージョン一覧(実測)
コンポーネント バージョン インストール方法
Node.js (LTS) v24.17.0 nvm install --lts
npm 11.13.0 nvm に同梱
nvm 0.39.7 公式 install.sh
OpenJDK 17.0.19 apt install openjdk-17-jdk
Android SDK Tools (sdkmanager) 12.0 commandlinetools-11076708 ZIP
adb 1.0.41 / 37.0.0 sdkmanager "platform-tools"
react-native 0.86.0 npm install -g react-native
@react-native-community/cli 20.1.3 npm install -g @react-native-community/cli

よくあるエラーと解決策

① ANDROID_HOME is not set

source ~/.bashrc を実行し忘れている、またはシェルを開き直していないケースです。echo $ANDROID_HOME で確認して空なら source ~/.bashrc を実行します。

② SDK location not found

プロジェクトの android/local.properties に SDK パスが書かれていないと Gradle が失敗します。




ubuntu@linuxlab: ~/projects/MyApp
$ echo “sdk.dir=$HOME/Android/Sdk” > android/local.properties

③ nvm: command not found

nvm のインストールスクリプトは ~/.bashrc に追記しますが、source ~/.bashrc を忘れると使えません。また、zsh を使っている場合は ~/.zshrc に同じ内容を追記する必要があります。

④ Could not find tools.jar

JRE ではなく JDK が必要なエラーです。openjdk-17-jre ではなく openjdk-17-jdk をインストールしているか確認します。




ubuntu@linuxlab: ~
$ dpkg -l | grep openjdk-17
ii openjdk-17-jdk:amd64 17.0.19+10-1~24.04.2 amd64 OpenJDK Development Kit (JDK)

⑤ エミュレーターが起動しない(qemu: uncaught target signal 6)

KVM が有効でないか、ユーザーが kvm グループに入っていません。sudo usermod -aG kvm $USER を実行後、一度ログアウト・ログインしてから再試行してください。

実機 Android デバイスを使う場合

エミュレーターを使わなくても、手元の Android スマートフォンで開発できます。

  1. Android デバイスの「設定 → 開発者向けオプション」で「USBデバッグ」を有効にする
  2. USB ケーブルで PC に接続
  3. adb devices でデバイスが認識されているか確認
  4. npx react-native run-android でビルド&転送

Ubuntu では接続時に udev ルールの設定が必要な場合があります。




ubuntu@linuxlab: ~
$ sudo apt install -y android-sdk-platform-tools-common
Setting up android-sdk-platform-tools-common (28.0.2+9) …
$ adb devices
List of devices attached
R5CW305XXXXX device

詳細な udev 設定については (ubuntu-adb-android.html)も参照してください。

まとめ

Ubuntu 24.04 LTS での React Native Android 開発環境構築をまとめます。

  • Node.js は nvm 0.39.7 → nvm install --lts で v24.17.0 が入る(実測)
  • Java は apt install openjdk-17-jdk で 17.0.19 が入る(実測)
  • Android SDK は commandlinetools-11076708 ZIP + sdkmanager 12.0 で platform-tools(adb 37.0.0)をインストール(実測)
  • JAVA_HOME は /usr/lib/jvm/java-17-openjdk-amd64~/.bashrc に設定する
  • エミュレーターには KVM 有効化が必要。VPS では使えないことが多いので実機 PC 推奨
  • 実機デバイスを使えばエミュレーター不要でテストできる

本格的な開発環境をサーバーで動かしたい場合は、VPS を借りてリモート開発する選択肢もあります。Ubuntu 24.04 が標準で使えるプランを選ぶと、この記事の手順がそのまま使えます。

コメント

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