React Native ベースでモバイルアプリを開発できる Expo は、1つのコードベースで Android / iOS / Web に対応できる強力なフレームワークです。
特に公式サービスである EAS (Expo Application Services) を利用すると、Mac や Xcode を持っていなくても iOS アプリをクラウド上でビルドでき、Android も同じ仕組みでストア提出用のファイルを生成できます。
ローカル環境では expo start や Expo Go アプリを使って簡単に動作確認ができますが、実際に Google Play や App Store に公開するためには、Expo アカウントを作成して EAS にログインし、クラウドビルドを実行する必要があります。
Expo アカウントの作成とログイン
まずは Expo アカウントを作成しましょう。
公式サイトから無料で登録できます。
👉 Expo 公式登録ページ
https://expo.dev/signup
ユーザー名・メールアドレス・パスワードを入力するだけで作成できます。
アカウントが作成できたら、プロジェクトのルートフォルダ(例:calc-app/)に移動したうえで、ターミナルから EAS にログインします。npx を使うので、グローバルインストールは不要です。
npx eas-cli loginBash👉 実行後、Expo アカウントの ユーザー名(またはメールアドレス) と パスワード を入力してください。Logged inとなれば成功です。
プロジェクトフォルダ直下に package.json がある状態でコマンドを叩くと、EAS が正しく認識されます。
ログイン後、現在の状態を確認するには次を実行します。
npx eas-cli whoamiBash現在ログイン中のアカウント名が表示されれば成功です。
Android アプリのビルド
Android 向けの本番ビルド(AABファイル)を作成するには次を実行します。
新規プロジェクト作成
npx eas-cli build -p android --profile productionBash- -p android … Android 向けビルド指定
- –profile production … eas.json の production 設定を利用
「EAS プロジェクトを作成しますか?」という確認画面。ここで Y を押すと、Expo のアカウントに対して(例:calc-app) という名前のプロジェクトが自動作成されます。
アプリの署名鍵をどうするか? を聞かれています。初回ビルドなら → Y(新しく生成)がおすすめ
→ Expo が自動で Keystore を作ってくれるので簡単。後で必要になったらダウンロード可能。
? Generate a new Android Keystore? » (Y/n)Bashサーバーエラーで失敗
クラウド側での Keystore 生成が 500(Internal Server Error)で落ちたケースです。
✖ Generating keystore in the cloud...
Request failed: 500 (Internal Server Error)
Error: build command failed.Bashもう一度下記のコマンド実行。プロジェクトを作成済みの為、もう一度キーの生成について聞かれます。Y を押します。
npx eas-cli build -p android --profile production
√ Generate a new Android Keystore? ... yes
.
.
.
.
途中で下記の表示が出ると成功に近づいています。
✔ Generating keystore in the cloud...
✔ Created keystore
.
.
/ Build in progress...「クラウド上でビルドが進行中」 という表示です 👍Bash既存プロジェクトに上書き
EASの“上書き”はコードを消して置き換える行為ではありません。同じProject IDに対して“新しいビルド履歴を追加”することです。未リンクの状態でnpx eas-cli buildを実行するとY/nの確認が出ます。表示されたOwnerとProject IDが目的の既存プロジェクトと一致していればYで確定。違えば中断し、eas initで正しくリンクし直します。
D:\calc_application\calc>npx eas-cli build -p android --profile production
? Existing EAS project found for @xxx-xxx-xxx/calc (id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx). Configure this project? »
(Y/n)BashAAB ファイルをダウンロード
ビルドが完了すると、ターミナルに ✔ Build finished と表示されます。
- ✔ Build finished が出た → ビルド完了
- このリンクをクリックすれば、ビルドされた AAB ファイルを取得可能です。
🤖 Android app:
https://expo.dev/artifacts/eas/nBTAf5uDBj6CYKoKsQK5po.aabBashビルドファイル(AAB)の入手が完了し、アプリ公開の準備が整いました。
このあとの Google Play Console 側の設定手順 については、次回の記事でご案内いたします。
まとめ
- npx eas-cli login でアカウントにログイン
- npx eas-cli whoami でログイン確認
- npx eas-cli build -p android –profile productionで Android 新規、またはID確認のうえ上書きビルド
これで Expo プロジェクトをクラウドビルドしてストア提出の準備が整います。

