eas build fails on Android with prebuild

Hi @marchingband

If you want to run prebuild, you should use npx expo prebuild .... i.e. you should be using the locally installed expo cli instead of a globally installed expo-cli.

Also, with the default eas.json, a preview build is like a production build, except that the buildType is apk, so you can just do this:

eas build -p android --profile preview

No need to change the production profile to buildType apk.

If the only thing you’re modifying in the android native project is AndroidManifest.xml, then you could write a Config Plugin to make that change automatically for you, instead of making the change manually. Then it would automatically apply the change during prebuild, which means you can have a fully managed Expo app, without any android or ios directories. (If you do not have an android or ios directory, the build servers automatically run prebuild for you during the build process.)

This does not mean that AsyncStorage is deprecated. It just means that it’s calling a deprecated API. This is pretty common in Java code and not something to be worried about. It’s for the AsyncStorage maintainers to worry about.

Yes

That’s normal. That’s because Expo SDK 48 is tested against a particular version of AsyncStorage, so they specify that version to make sure it works. Normally when they release a new SDK version they update to later versions of their dependencies.

So basically, if your build is failing it’s not because of the above warnings and version of AsyncStorage.

In the build log you’ll probably see something about one of the gradle tasks failing. Search for FAILED. e.g. see the screenshot here: