Windowsで Android Studio + Expo を「エミュレーター起動」まで(aで起動できる状態)
対象:Windows 11 / 10、Expo managed workflow
Android SDK例:C:\Android\Sdk(この記事ではこのパスで統一)
AVD例:Pixel 6 / Medium Phone
目次(見出し一覧)
- はじめに(この記事でできるようになること)
- 前提(OS、Node、npm、Expo CLI)
- Android Studioインストール手順
- SDK/AVDセットアップ(Device Managerで仮想端末作成)
- 環境変数設定(ANDROID_HOME / ANDROID_SDK_ROOT / PATH)
- Expo起動とエミュレーター実行(npx expo start, a)
- よくある詰まりポイント集(エラー文→原因→解決)
- まとめ
はじめに(この記事でできるようになること)
この記事では、Windows 11/10 上で次の状態をゴールにします。
- Android Studio をインストール
- AVD(Android Emulator)を作成
- Expo(managed workflow)を起動して ターミナルで
aを押すだけでAndroidエミュレーター起動
さらに、初心者が詰まりやすい「典型エラー」を エラー文→原因→解決(コピペOK) でまとめます。
前提(OS、Node、npm、Expo CLI)
対象環境
- OS:Windows 11(または10)
- React Native:Expo managed workflow
- Android SDK パス例:
C:\Android\Sdk - 端末(AVD例):Pixel 6 / Medium Phone
Node.js / npm
Node.js は 最新LTS(偶数メジャー) 推奨です。
確認(PowerShell):
node -v
npm -v
Expo CLI(グローバルインストール不要)
最近のExpoは npx expo を使うのが基本です。
(古い expo-cli をグローバルで入れている場合、挙動がズレることがあるので注意)
Android Studioインストール手順
1. インストール
- Android Studio を公式サイトからダウンロードしてインストール
https://developer.android.com/studio?hl=ja - セットアップで以下にチェック(だいたいデフォルトでOK)
- Android Studio
- Android Virtual Device
⚠️ インストール途中で「Android SDKの保存先」が表示されます。
この記事では例として C:\Android\Sdk を使います。
(標準は %LOCALAPPDATA%\Android\Sdk になりがちなので、ここでズレやすいです)
SDK/AVDセットアップ(Device Managerで仮想端末作成)
1. SDKを入れる(Android SDK Platform / Build-Tools / Emulator)
Android Studio を開きます。
- Settings → Languages & Frameworks → Android SDK
- SDK Platforms タブで必要なAPIを選択(迷ったら最新寄りでOK)
-
SDK Tools タブで最低限これを入れる
- Android SDK Build-Tools(何か1つ)
- Android Emulator
- Android SDK Platform-Tools
⚠️ 「Platform-Tools」が入っていないと adb が使えず詰まります。
2. AVD(仮想端末)を作る
- Android Studio → More Actions → Device Manager
- Create device
- 端末を選ぶ
- 例:Pixel 6 / Medium Phone(迷ったらPixel系)
- System Image を選んでダウンロード(必要なら)
- Finish
作成後、▶(Play)でエミュレーターが起動できればOKです。
環境変数設定(ANDROID_HOME / ANDROID_SDK_ROOT / PATH)
Expoで a を押したとき、裏では adb(Android Debug Bridge)を使います。
なので SDKパス+platform-toolsがPATHに入っていることが超重要です。
⚠️ SDKのパスが C:\Android\Sdk と違う場合:
Android Studio の Settings → Android SDK で “Android SDK Location” を確認して、そのパスを使ってください。
(ここがズレていると adb が見つからず詰まります)
この記事の例:SDKを C:\Android\Sdk に置く想定(あなたの環境に合わせて読み替え)
設定する値(この記事の例)
-
ANDROID_HOME:C:\Android\Sdk -
ANDROID_SDK_ROOT:C:\Android\Sdk - PATH に追加:
C:\Android\Sdk\platform-toolsC:\Android\Sdk\emulator
1. 一番安全:GUIで設定(おすすめ)
- Windows 検索で「環境変数」→「システム環境変数の編集」
- 「環境変数(N)…」
- ユーザー環境変数で新規作成
ANDROID_HOME = C:\Android\SdkANDROID_SDK_ROOT = C:\Android\Sdk
- 「Path」→ 編集 → 新規で追加
C:\Android\Sdk\platform-toolsC:\Android\Sdk\emulator
⚠️ 反映のために PowerShell/ターミナルを一度すべて閉じて再起動してください。
(これをやらないのが「adbが見つからない」最大原因です)
2. PowerShellで“現在のターミナルだけ”反映(検証用)
$env:ANDROID_HOME="C:\Android\Sdk"
$env:ANDROID_SDK_ROOT="C:\Android\Sdk"
$env:Path += ";C:\Android\Sdk\platform-tools;C:\Android\Sdk\emulator"
⚠️ これは「今開いているPowerShellだけ」に効きます。閉じると消えます。
3. 反映確認(超重要)
$env:ANDROID_HOME
where.exe adb
adb --version
Expo起動とエミュレーター実行(npx expo start, a)
ここからは PowerShell で進めます。
1. プロジェクト作成(すでにある人はスキップ)
npx create-expo-app@latest myapp
cd myapp
npm install
2. Expo起動 → a でAndroid
- エミュレーターを起動(Device Manager の ▶ でもOK)
- Expo起動
npx expo start
- 起動したら、ターミナルで
aを押す
→ Android側が立ち上がってアプリがインストール&起動します。
よくある詰まりポイント集(エラー文→原因→解決)
1) PowerShellで mkdir -p が使えない
エラー例
mkdir -p assets
# mkdir : A parameter cannot be found that matches parameter name 'p'.
原因
PowerShell の mkdir は Linux の mkdir -p と互換ではありません。
解決(コピペOK)✅
New-Item -ItemType Directory -Force -Path .\assets | Out-Null
複数階層もOK:
New-Item -ItemType Directory -Force -Path .\src\features\home | Out-Null
(cmdなら mkdir assets はOK。-pは同様に使えません)
2) adb が見つからない / ANDROID_HOMEが反映されない
エラー例
adb : The term 'adb' is not recognized...-
where adbが何も返さない -
aを押しても「Androidが見つからない」系
原因(多い順)
-
platform-toolsが PATH に入ってない -
ANDROID_HOMEを設定したが ターミナル再起動してない - SDKパス自体が違う(
C:\Android\Sdkに存在しない)
解決(コピペOK)✅
(1) まずSDKの実体を確認(例)
Test-Path C:\Android\Sdk\platform-tools\adb.exe
(2) “今のPowerShellだけ”強制的に通して検証
$env:ANDROID_HOME="C:\Android\Sdk"
$env:Path += ";C:\Android\Sdk\platform-tools"
where adb
adb --version
(3) 恒久対応は GUIでPATH追加 + ターミナル再起動(これが本命)
3) Expoで w を押したら「web依存が無い」と言われる
エラー例(趣旨)
「webを開くには react-dom / react-native-web が必要」系
原因
ExpoのWeb機能に必要な依存関係が未導入。
解決(コピペOK)✅
npx expo install react-dom react-native-web @expo/metro-runtime
⚠️ そもそもWeb不要なら、w を押さなければOKです(Androidだけやるなら無理に入れなくて大丈夫)
4) エミュレーターが真っ黒(起動するが画面が暗転/真っ黒)
症状
- Emulatorが起動したのに真っ黒で止まる
- ロゴから進まない
原因(多い)
- GPU/Graphics の相性(ANGLE/DirectX周り)
- AVD状態が壊れている(スナップショット等)
解決(まずこれ)✅
- Device Manager → 該当AVDの ▼ → Cold Boot Now
- それでもダメなら ▼ → Wipe Data
Graphics設定を変える(効きやすい)✅
- AVD編集(鉛筆)→ Emulated Performance / Graphics
- Software
- ANGLE(Indirect)などに変更して試す
コマンドでGPU指定して起動(必要な人向け)
cd C:\Android\Sdk\emulator
.\emulator -avd Pixel_6_API_35 -gpu angle_indirect
5) Expo側で assets のパス解決(icon.pngが見つからない等)
エラー例
Unable to resolve asset "./assets/icon.png"-
icon.pngが無いと言われる
原因
-
app.json / app.config.jsのパスが実ファイルとズレている - assets を移動したのに設定を直していない
- キャッシュが古い
解決(コピペOK)✅
(1) まずファイルがあるか確認
Test-Path .\assets\icon.png
(2) app.json を確認(例)
{
"expo": {
"icon": "./assets/icon.png"
}
}
(3) キャッシュクリアで再起動
npx expo start -c
⚠️ それでも直らない場合は「assetsを戻す」か「パスを正に合わせる」が最短です。
まとめ
- Android Studio を入れて SDK/Emulator を揃える
- AVD(Pixel 6など)を作成して起動確認
-
ANDROID_HOME(必要ならANDROID_SDK_ROOT)と PATH(platform-tools/emulator)を通す - Expo を
npx expo startで起動し、aでエミュレーターへ