🤖📱 アプリ開発の舞台裏 「ダンシングポノ」アプリができるまで パート2:Androidのアップデート(依存ファイル地獄)
こんにちは、ダンシングポノ運営&開発担当のニーダです。
前回のブログでは、iOS版のアップデートを中心にお届けしましたが、今回はその続編。
個人的には何度もやり直して、とてもAIに相談しながらでないとできなかった Android版のアップデート作業についてお届けします。
僕の環境はReact Native x Expoです。
メリットはiOS、Android両方のリリースが1ソースでできること。
デメリットは、超本格的な機能などは、iOS、Android専用開発環境には敵わないということですが、その機能まではまだまだつかわなそうです。
📦 Expo SDK 52へのアップデート
今回のアップデートは、Expo SDK 52への対応が必須条件でした。
Google Playでは「ターゲットAPIレベルを最新にする」ことが求められており、Expo SDKの対応バージョンに合わせて開発環境を調整する必要があったのです。
まずは
eas build -p android --profile production --clear-cache
を何度も実行するも毎回ビルドエラー。
🧪 expo-doctorでの診断
Expoが提供する expo-doctor
コマンドを実行してみたところ、以下の2点で問題が発覚しました:
- redux-persist:メンテされておらず非推奨になっていた
- react / react-dom のバージョン不一致:18.2.0 → 18.3.1 への更新が必要
Reduxの技術自体にアップデートがあまりないこともあり、依存関係の整合性が崩れていた模様です。
💥 npm install の罠と依存地獄
reactやredux周りのパッケージを更新しようとすると…
bashコピーする編集するnpm install
→ ERESOLVEエラーの連続。
相性が悪いパッケージ同士がぶつかって、インストールできない事態が多発しました。
解決策として以下を試しました:
以下で強行インストール
npm install --legacy-peer-deps
- 各パッケージの
package.json
を確認して、手動でバージョンを調整
地道な作業と試行錯誤の末、ようやく全ての依存パッケージがビルド可能な状態に。
🔁 8回以上のビルドトライ
この段階で eas build -p android
を再度試行。
ビルド → エラー → 修正 → ビルド…の繰り返し。
最終的に 8回以上のビルド試行を経て、ようやくAndroidビルドが成功!
📤 Google Play Console へのアップロード
ビルドで得られた app.aab
ファイル(Android App Bundle)を Google Play Console にアップロード。
- テストトラックに登録
- ステータスが「審査中」に
- そしてついに、Android版も正式リリース完了!
📝 まとめ
- Android版のアップデートはreduxを使う限り、依存関係の地獄との戦いだった
- reduxまわりのライブラリが更新されていないのも一因
- Expo SDKのバージョンアップには、毎回「環境の断捨離」が必要
React Native × Expo は初心者でも取り組みやすいとはいえ、僕のようなケースでは、リリースまでは決して簡単ではないことを実感しました。
今考えてもあのエラー地獄、AIに相談できないとなると、途中であきらめてました。
それでも、やりきった後の達成感はひとしおです!
というわけで、バージョンアップしたアプリは以下。
まだまだアップデートしますので、気になる方はぜひチェックしてみてください!
🔗 iOS版はこちら
https://apps.apple.com/jp/app/id6465645426
🔗 Android版はこちら
https://play.google.com/store/apps/details?id=dancing.pono
🎉 話題の人気コンテンツ
-
📘 まんがで学ぶペアダンス入門
初心者が最初につまずくポイントを4コマで楽しく解説! -
📘 ペアダンスあるある
〜ペアダンス経験者が共感できる、笑って学べるシリーズ〜 -
📘 スタッフブログ
ほぼ毎日更新、ラテンダンスに関わるライフスタイルをご紹介 - 📝 無料会員登録で便利に!
-
📲 ダンシングポノ公式アプリを今すぐインストール
あなたのダンスライフをさらに充実させましょう!
▶︎ iOS版はこちら
▶︎ Android版はこちら
口コミをする(コメントする)
コメントを投稿するにはログインしてください。