はじめに
WindowsでExpoのAndroidビルドをするために、WSLの環境を整えるためのメモです。
バージョンアップによってコマンドは変わることがあるので注意してください。
筆者の環境
- OS: Windows 11 Home 25H2
- WSL: Ubuntu-24.04
- プロジェクトのExpoバージョン: 54.0.23
- プロジェクトで使用しているパッケージマネージャー: Bun
Expoのローカルビルドに必要なもの
- EAS CLI
- Java 17
- Android SDK
- Android SDK コマンドラインツール
- WSL
環境づくり用のコマンド
Android SDK コマンドラインツール のURLはこのページの下の方にある「コマンドライン ツールのみ」セクションから手動で持ってきて貼り付ける必要があります。
# パッケージの更新
sudo apt update && sudo apt upgrade -y
# -- nvm, node, npmのインストール -- https://github.com/nvm-sh/nvm
sudo apt install libatomic1 # nodeの前提パッケージ
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nvm install --lts
nvm use --lts
npm install -g npm@latest
# -- bunのインストール -- https://bun.com/docs/installation
sudo apt install unzip
curl -fsSL https://bun.com/install | bash
source /home/user/.bashrc
# -- EAS CLIのインストール -- https://github.com/expo/eas-cli
npm install --global eas-cli
# -- Java 17のインストール --
sudo apt install -y openjdk-17-jdk
# javaのパスを確認するには sudo update-alternatives --config java
echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc
# -- Android SDKのインストール --
sudo apt install -y android-sdk
sudo cp -rf /usr/lib/android-sdk ~/
sudo chown -R $(id -u):$(id -g) ~/android-sdk
echo "export ANDROID_HOME=\${HOME}/android-sdk" >> ~/.bashrc
source ~/.bashrc
# -- Android SDK コマンドラインツールのインストール --
# ! https://developer.android.com/studio?hl=ja からコマンドラインツールのurlを取得してインストール
cd ~/
curl -o cmdtools.zip ダウンロードURL
unzip cmdtools.zip
mkdir -p ~/android-sdk/cmdline-tools/latest
mv ~/cmdline-tools/* ~/android-sdk/cmdline-tools/latest/
rm -rf cmdline-tools/ cmdtools.zip
echo "export PATH=\${PATH}:\${ANDROID_HOME}/cmdline-tools/latest/bin:\${ANDROID_HOME}/tools/bin:\${ANDROID_HOME}/platform-tools/bin" >> ~/.bashrc
source ~/.bashrc
sdkmanager "platform-tools" "platforms;android-36" "build-tools;36.0.0"
下のコマンドを参考にしてExpoプロジェクトを持ってきてビルドする
# clone project
cd ~/
git clone プロジェクトのGithubURL
cd プロジェクト名
bun ci
# build
eas build --local
参考
android-sdk を ubuntu22.04 で【Flutterビルド用にCLIだけ入れる】 #Android - Qiita