メインコンテンツへスキップ

【React Native × EAS Build】3日間のビルド地獄

    ここ3日間、Google Play Console への修正したアプリを再アップロードしようとして eas build を何度も繰り返していました。
    結果的には 「eas prebuild を実行してから eas.json を以下のように設定」 することでビルドが通るようになりました。

    "production": {
      "autoIncrement": true,
      "developmentClient": false,
      "android": {
        "buildType": "app-bundle"
      }
    }

    結果的にたったこれだけの修正だったのですが、ここに至るまでに何度も試行錯誤を繰り返しかなーり大変な思いをしました。


    なぜつまずいたのか?

    最大の原因は、ビルド構成(flavor や buildType)への理解不足でした。React Native(特に Expo + EAS Build 環境)でアプリをリリースする際、以下のような概念を正しく理解しておく必要があります。

    • buildType: apk or app-bundle の選択

    • developmentClient: 開発ビルドと本番ビルドの違い

    • flavor: dev や prod などのビルドバリアント(今回は未使用でしたが、今後は使うこともあるかも)

    • eas prebuild の役割(android/ ディレクトリを生成・更新)

    これらの基礎があやふやだったことで、何度も「gradlew がない」「プロジェクト構造がおかしい」といったエラーに悩まされる羽目に…。


    今回得た教訓

    • eas prebuild を挟むことでネイティブプロジェクトが正しく生成される

    • eas.json の記述は、ビルドの流れを左右する最重要ファイル

    • ビルド環境(flavorやvariant)の理解なしに本番リリースは危険


    これからやるべきこと

    • Androidの flavor や build.gradle の仕組みをしっかり勉強する

    • iOSビルドにも備えて、profile や証明書まわりの理解も深める

    • eas build のキャッシュやデバッグ手法も記録しておく


    同じように「ビルドで詰んだ…」という方の参考になれば幸いです。
    React Native × EAS Build に触れてからまだ期間は短いですが、着実にレベルアップしていきたいです。


     
     

    sam

     
     
    バスケ好きのエンジニアです。 思いついたことを好き勝手に不定期に更新していきます。

    あなたへのおすすめ