OTA Updates not working


I’m not able to receive OTA updates on my android device. I’m running a detached build with expo sdk 28.0.0 and I haven’t change the sdk version / name / icon, since the build. The android app is currently in the play store under closed alpha testing and has been downloaded on my personal device. I know the OTA updates aren’t working because prior to my build in android studio, I put a text tag with random text on the top level screen, then generated a signed apk and published the app to expo as well as the play store. Once in the play store, I deleted the text tag on the top level screen and republished the app. The app still shows with the text tag from when I initially generated the signed apk… I’ve closed the app, and reopened it multiple times. There are no updates pending in the play store. My app.json also includes “updates”{“fallbackToCacheTimeout”: 0 }.

Has anyone else had issues with OTA updates not working? What are steps I can take to resolve this issue? I’m hoping I don’t have to generate a new signed apk for each javascript change.


1 Like

Hi @wrightmk - OTA updates should work just fine for detached apps, so it’s likely something else is going on here. Here are some things to try:

  • Could you verify that you can reach both https://exp.host and this image from the device you’re testing on? (Just visit the links in a browser)
  • Can you confirm that when you say you’ve closed and reopened the app, you swiped the app closed and relaunched it (seeing the splash screen again) rather than just backgrounding and foregrounding it?
  • Did you publish to a release channel at any point? If so, you need to make sure you publish to the same release channel as the one in your AppConstants.java in order for your app to download the new version.
  • If you don’t rely on any non-expo libraries right away, you could try loading your app in the Expo client to verify that the new version was published correctly.

Hope this helps, but let us know if you’re still seeing issues.

Hi @esamelson,

  • I was able to reach the expo url and the image from my device
  • The app has been swiped closed and relaunched several times
  • We used release channels at one point, but then decided not to use them as Constants.manifest.releaseChannel wasn’t fetching the correct url. The apk has since been resigned and the expo sdk republished.
  • We are relying on universal links and a few other non-expo libraries (the reason we detached)

The app publishes no problem in XDE when pressing the ‘Publish’ button. Not sure why OTA updates aren’t reaching the application.

We have since tested our ios app as well. The ios app is also not receiving OTA updates…

Any suggestions…?

1 Like

Hi @wrightmk - my guess is that release channels are the culprit here. Could you explain what you mean by

Constants.manifest.releaseChannel wasn’t fetching the correct url.

I would suggest double checking the release channel values in ios/your-app/Supporting/EXShell.plist (iOS) and android/app/src/main/java/host/exp/exponent/generated/AppConstants.java to ensure they are both set to “default” and not whatever was set when you first detached the app.

Thanks @esamelson,

the release channels were set to “prod-v1” in the appConstants.java, and the EXShell.plist. By running exp publish --release-channel prod-v1 I was able to get OTA updates working!

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.