Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAS Update fails on Android when an asset has been excluded from the manifest #30723

Open
jake-carpenter opened this issue Jul 30, 2024 · 0 comments
Assignees
Labels
needs review Issue is ready to be reviewed by a maintainer

Comments

@jake-carpenter
Copy link

Minimal reproducible example

https://github.com/jake-carpenter/expo-ota-exclusion-repro

What platform(s) does this occur on?

Android

Where did you reproduce the issue?

in a standalone app

Summary

I'm trying to exclude an external SQLite database file from OTA updates that is imported using SQLiteProvider. Local builds and native builds import and use the database without issue. Only once I generate an OTA update does Android fail to install the update. iOS seems to work without issue. I'm unsure if this is an issue with expo-updates, expo-sqlite or maybe even expo-asset.

Android logcat shows an error Error: Call to function 'ExpoAsset.downloadAsync' has been rejected. while attempting to install the update on a device.

Repro

Repro steps with existing EAS builds of mine: are outlined here

Repro steps with your own builds: are outlined here

  • 1.0.0 represent an initial MRE that works without issue and will not attempt to install an OTA update
  • 1.1.0 represents an initial MRE that works but will install an OTA update that breaks
  • 1.1.1 represents the OTA update that will fail to install

Error messages

Full device error logs

A small snippet of the error happening on device (starting line 1233):

07-30 13:57:51.188 32724 32765 E ReactNativeJS: Error: Call to function 'ExpoAsset.downloadAsync' has been rejected.
07-30 13:57:51.188 32724 32765 E ReactNativeJS: → Caused by: Unable to download asset from url:
07-30 13:57:51.188 32724 32765 E ReactNativeJS:
07-30 13:57:51.188 32724 32765 E ReactNativeJS: This error is located at:
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in SQLiteProviderNonSuspense
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in SQLiteProvider
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in ThemeProvider
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in RootLayout
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in Unknown
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in Suspense
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in Route
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in Unknown
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in RNCSafeAreaProvider
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in SafeAreaProvider
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in wrapper
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in EnsureSingleNavigator
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in BaseNavigationContainer
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in ThemeProvider
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in NavigationContainerInner
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in ContextNavigator
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in ExpoRoot
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in App
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in RCTView
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in Unknown
07-30 13:57:51.188 32724 32765 E ReactNativeJS:     in AppContainer, js engine: hermes

Environment

expo-env-info 1.2.0 environment info:
System:
OS: macOS 14.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.13.1 - ~/.nvm/versions/node/v20.13.1/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v20.13.1/bin/yarn
npm: 10.5.2 - ~/.nvm/versions/node/v20.13.1/bin/npm
Watchman: 2024.07.08.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.14.3 - /.../.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.4, iOS 17.4, macOS 14.4, tvOS 17.4, visionOS 1.1, watchOS 10.4
IDEs:
Xcode: 15.3/15E204a - /usr/bin/xcodebuild
npmPackages:
expo: ~51.0.23 => 51.0.23
expo-router: ~3.5.19 => 3.5.19
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.74.3 => 0.74.3
react-native-web: ~0.19.10 => 0.19.12
Expo Workflow: bare

Expo Doctor Diagnostics

npx expo-doctor@latest
✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for issues with metro config
✔ Check for common project setup issues
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✔ Check that native modules use compatible support package versions for installed Expo SDK
✔ Check that packages match versions required by installed Expo SDK
✔ Check native tooling versions

Didn't find any issues with the project!

@jake-carpenter jake-carpenter added the needs validation Issue needs to be validated label Jul 30, 2024
@expo-bot expo-bot added needs review Issue is ready to be reviewed by a maintainer and removed needs validation Issue needs to be validated labels Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

3 participants