-
Notifications
You must be signed in to change notification settings - Fork 6.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[updates] Fix app.manifest occasionally missing on android #19731
[updates] Fix app.manifest occasionally missing on android #19731
Conversation
ENG-2610 Investigate expo-updates manifest not getting embedded in Android app with a lot of assets
A user reported that their Android app built with EAS Build was crashing due to the app.manifest ending up missing from the final APK. I added some logging to our createManifest.js script and it looks like we do successfully write app.manifest (see line 463 and onwards in gradlew phase). So it is somewhere after writing the file to Example repo: https://gitlab.epsteindidntcommitsuici.de/eguillaumin/catamaps/-/tree/0c153891cad36928726eb73c3fa40c6efeb08eb0 I wasn't able to reproduce this on my machine, only on EAS Build. So the repro steps are to clone the exact commit provided above and then run Note: the user was able to resolve this issue by compressing png to webp, so it does seem related to the size of assets. You can also verify that excluding the source by replacing App.js with some basic "Hello, world!" example (thus preventing importing the assets) will resolve the issue. |
@douglowder - what do you think about this? can we land it for sdk 47? we've seen a handful of reports about this recently so it would be nice to land this if possible |
@brentvatne yes this seems safe to land. |
(cherry picked from commit 2fa1778)
Why
there are some reported issues that the app.manifest is missing from output builds.
close ENG-2610
How
i cannot reliably reproduce the problem and the hypothesis is about building task sequence. the pr tries changing the task dependency to
mergeReleaseResources
which would be earlier thanprocessReleaseResources
. this is also aligned with react-native implementation.Test Plan
updates e2e ci passed (based on #19730)
Checklist
expo prebuild
& EAS Build (eg: updated a module plugin).