I am running expo build:ios / android I have 423mb of data split across about 80 sound files. The biggest file is 30mb. When uploading the files i get an error message.
Error: Request failed with status code 413
at createError (C:\Users\D\AppData\Roaming\npm\node_modules\expo-cli\node_modules\@expo\xdl\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\D\AppData\Roaming\npm\node_modules\expo-cli\node_modules\@expo\xdl\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\D\AppData\Roaming\npm\node_modules\expo-cli\node_modules\@expo\xdl\node_modules\axios\lib\adapters\http.js:236:11)
at IncomingMessage.emit (events.js:203:15)
at IncomingMessage.EventEmitter.emit (domain.js:448:20)
at endReadableNT (_stream_readable.js:1129:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Ejecting won’t help you because problem here is size limit on s3 bucket and when publishing ejected app you still uploading it to the same place.
You can run expo export and host generated dist directory yourself. When building you will run expo build:android --public-url https://my.server.com/dist/android-index.json. This will work, but I think the major problem here is the architecture of your app, all those files shouldn’t be bundled into the app, but fetched when needed and logic responsible for that should be in your code.