Open3

eas service

masa4tmasa4t

☁️ Expo EAS Build とは?
EAS (Expo Application Services) とは、ReactNativeで開発したアプリをクラウド上でビルド・配布・申請できる公式サービスです。

通常のネイティブ開発のようにXcodeやAndroid Studioをローカルで使わずに、
クラウド上で .apk や .ipa を生成し、チームと共有したりストア申請に使ったりできます。

🧱 EAS Buildの導入手順

  1. EAS CLIのインストール
    まずはグローバルにCLIツールをインストールします:
npm install -g eas-cli
  1. Expoアカウントでログイン
    Expo公式サイト(https://expo.dev)でアカウントを作成したうえで、プロジェクトディレクトリ内で以下を実行:
eas login

プロンプトに従って、ユーザー名とパスワードを入力すればログイン完了です。

  1. 設定ファイル(eas.json)の作成
eas build:configure

これを実行すると、プロジェクトのルートに eas.json という設定ファイルが生成されます。

✍️ eas.jsonの中身(例)

{
  "cli": {
    "version": ">= 3.13.3",
    "appVersionSource": "remote"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {}
  }
}

🔀 各プロファイルの意味と使い分け

"developmentClient": true があるとデバックビルドになる
"distribution": "internal" があるとビルド後QRを作成してくてインストールすることができる

プロファイル 用途 設定の意味
development 開発中・debugビルドQR確認用 ほぼ使わない。

preview テスト配布 内部配布用の軽いビルド。ユーザーやメンバーに見せる前の確認用。

production ストア提出用 App Store / Play Store 対応。

  1. ビルドを実行する。(development / preview)
eas build --platform android --profile preview

--platformの後はios, android, allのいずれかを指定します。
--profileの後はeas.jsonのプロファイルを指定します。デフォルトではdevelopment, preview, productionのいずれかを指定します。

📱 Androidの場合(development / preview)
Keystore(署名ファイル)は自動で生成・再利用されるため、基本的に何も設定しなくてOK。
・ 出力は .apk ファイル(インストール可能)。
・ QRコードから どの端末でもインストール可能。

🍎 iOSの場合(development / preview)
ad hoc または enterprise プロビジョニングでビルドされます。
ad hoc の場合、インストールできる端末は UDID 登録済みのものに限定されます。

🔧 端末の登録手順:

eas device:create

↑ を実行するとQRコードが表示されるので、登録したいiPhoneでQRを読み込めば登録完了です。
登録が完了した後に再度ビルドすると、その端末でのみインストール可能な .ipa ファイルが生成されます。

ビルドが完了するとダッシュボードでQRコードが発行されています。これをAndroidの場合はどの端末からでもExpo Goアプリから読み込むことでインストールできます。
iosの場合は上述の通り登録した端末のみカメラアプリからインストールできます。
チームでQRを共有してアプリの進捗などがしやすい

production (store提出は省略)
軽く触れておくとandroidの場合はaabファイルが作成されてそれをGooglePlayに提出可能
iosの場合はipa ファイル(App Store Connect提出用)

eas で本番にデプロイするにしろ、しないにしろ開発段階ではとても便利

https://docs.expo.dev/build/introduction/

masa4tmasa4t

eas submit(アンドロイド)
☁️ EAS Submit を使って Google Play にアプリを提出する方法(Android 編)
Expo で開発した Android アプリを、Google Play にアップロード(提出)するには eas submit を使います。
ただし、使用する前に**いくつかの準備(7つのステップ)**が必要です。

✅ 事前準備(7つのステップ)
① Google Play デベロッパーアカウントを作成
Google Play にアプリを公開するには、**デベロッパー登録(有料・25ドル)**が必要です。
Google Play Console から登録してください。

② Google Play Console 上でアプリを作成
Play Console にログイン後、「Create app」ボタンをクリックしてアプリを作成します。
ここで、アプリ名やカテゴリ、ポリシー同意などの入力が求められます。

③ Google サービスアカウントの作成
EAS Submit が Google Play にアクセスするためには、**Google Cloud の「サービスアカウント」キー(JSON)**が必要です。

Google Cloud Console にアクセスし、サービスアカウントを作成

「キーを追加」→「JSON」を選んでダウンロード

Play Console の「APIアクセス」から、サービスアカウントをユーザーとして追加

👉 詳細手順:公式ガイド(英語)

④ EAS CLI のインストールとログイン
ターミナルで以下を実行:

npm install -g eas-cli && eas login

Expo アカウントにログインします。未作成の場合は Expo公式サイト で登録してください。

⑤ app.json にアプリのパッケージ名を指定
以下のように、アプリの Android パッケージ名を指定します:

{
  "android": {
    "package": "com.yourcompany.yourapp"
  }
}

このパッケージ名は Google Play Console に登録したアプリIDと一致している必要があります。

⑥ production 用のビルドを作成
Google Play に提出できるよう、本番(production)用のビルドを作成します:

eas build --platform android --profile production

または、ローカルマシンでビルドしたい場合は:

eas build --platform android --profile production --local

※ Android Studio を使ってビルドする方法も可能です。

⑦ 最初の1回だけは手動でアップロードが必要
Google Play の仕様により、最初の .aab ファイルだけは手動でアップロードが必要です。

Play Console で「内部テスト」などのトラックを選び .aab をアップロードし、一度リリース処理を完了してください。

これをしないと、Google Play API(=EAS Submit)での提出が許可されません。

🚀 eas submit コマンドで提出!
すべて準備が整ったら、以下のコマンドでビルドを提出できます:

eas submit --platform android

コマンド実行後、手順に従ってサービスアカウントのJSONファイルのパスや、提出する .aab の選択などが求められます。

この手順でExpoアプリを公開できます。

masa4tmasa4t

🍎 EAS Submit を使って App Store にアプリを提出する方法(iOS 編)
Expo で開発した iOS アプリを Apple App Store に提出するには eas submit を使います。
ただし、使用する前に**いくつかの準備(4つのステップ)**が必要です。

✅ 事前準備(4つのステップ)
① Apple Developer アカウントを作成
App Store にアプリを公開するには、**Apple Developer Program への登録(年額 約12,800円)**が必要です。
Apple Developer Portal から登録してください。

② App Store Connect でアプリを作成
App Store Connect にログインし、「My Apps」から アプリを新規作成します。
ここでアプリ名やプラットフォーム、バンドルID(Bundle ID)、SKU などを入力します。

③ app.json に Bundle Identifier を指定
app.json に以下のように iOS の識別子(Bundle ID)を記載します:

{
  "ios": {
    "bundleIdentifier": "com.yourcompany.yourapp"
  }
}

この Bundle ID は App Store Connect で作成したアプリと一致している必要があります。

④ production 用のビルドを作成
App Store 提出用の 本番ビルド(.ipa) を作成します:

eas build --platform ios --profile production

または、ローカルでビルドしたい場合は:

eas build --platform ios --profile production --local

🚀 eas submit コマンドで提出!
準備が完了したら、以下のコマンドでビルドを提出できます:

eas submit --platform ios

コマンド実行後、Apple ID での認証や、提出するビルドの選択、ascAppId(App Store Connect 上のアプリID)の指定など、対話形式で進められます。

この手順でExpoアプリを公開できます。