Android で DeployGate にアップロードする用の APK ファイルを作成する際、下記のコマンドを実行したら「ENOENT: no such file or directory, open ‘android/app/src/main/assets/index.android.bundle’」というエラーが発生しました。
react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/src/main/assets/index.android.bundle --assets-dest ./android/app/src/main/res
上記を実行せずに APK ファイルを生成したところ、アプリが起動直後にクラッシュしたので、これは対処せねば…ということで、対処法を探したところ、下記の記事が大変参考になりました。
react native – ENOENT: no such file or directory, open ‘android/app/src/main/assets/index.android.bundle’ – Stack Overflow
https://stackoverflow.com/questions/58767106/enoent-no-such-file-or-directory-open-android-app-src-main-assets-index-andro
対処方法は拍子抜けするほど簡単で、android/app/src/main
内に assets
フォルダを作成するだけでした。
で、assets
フォルダを作成後、再度上記コマンドを実行したところ、今度は成功しました!
エラーメッセージに index.android.bundle
とありますが、こちらは自動生成してくれるようです。
別の React Native のアプリだとこの作業をした記憶がないのですが…ともかく解決してよかったです。
普段は PC と Android 端末を接続して開発しているので、DeployGate 経由でインストールしたアプリの不具合に気がつくのが遅れました…。
以上、React Native で Android アプリの APK を生成する際に、「ENOENT: no such file or directory, open ‘android/app/src/main/assets/index.android.bundle’」エラーが発生した時の対処法でした。
ご参考になれば幸いです。