初めてのExpo本番ビルド(Android向け)
概要
ReactNativeとExpoを使ってアプリ開発をしています。
この記事では、アプリの公開に向けてまずは手元で本番ビルドを試してみたので、その備忘録を書いています。
ちなみに、開発ビルドとプレビュービルドはすでに完了済みです。また、今回は Android 向けのビルドを行います。
事前準備
まずはビルド前の準備。
Expo doctor
Expo doctor というパッケージを利用して、問題になりそうな項目がないか診断してもらいます。
npx expo-doctor
15件の診断項目のうち、12件がパス。3件の問題があると言われました。どうやらパッケージの更新で解消しそうです。
パッケージ更新
パッケージの更新を行います。
npx expo install --check
5個のパッケージが更新されました。いづれもマイナーかパッチバージョンの更新。
アーキテクチャ警告は無視
再度 expo-doctor を実行すると、問題が1件に減りました。
アイコン系のライブラリに関して、 Use libraries that are actively maintained and support the New Architecture.
という警告が出ていました。
Claude によると本番ビルドには影響ないとのことなので、いったん無視して進めます。
TypeScript の型チェック
型チェックを行います。
npx tsc --noEmit
特に問題は無し。良かった。
以上で事前準備は終了です。
本番ビルド
さて、本番ビルドの実行をします。
Expo ログイン
ローカルのターミナルで、 Expoの認証状態を作ります。
npx eas login
ビルドコマンド
本番ビルドを実行!
npx eas build --platform android --profile production
11分後にビルドが完了。なんと1発で成功しました!よかった~
追記
本番ビルドの結果を実機で試したかったのですが、うまくいかなかった。プレビュービルドと違い、Expoo からインストールしてもアプリが開かない。
どうやらこれは aab
というファイル形式になっているため。これは PlayStore 向けのビルドです。
プレビュービルドまでは(というか eas.json で distribution: internal 指定したものは)、 apk
というファイル形式になっており、Android 端末で問題なく開けました。
というわけで、eas.json に以下のような設定を追加。
"pre-production": {
"android": {
"buildType": "apk"
}
},
対応するビルドコマンドは以下のとおりです。
npx eas build --platform android --profile pre-production
Discussion