OTA updates (on launch) not working

Please provide the following:

  1. SDK Version: 34.0.0/35.0.0
  2. Platforms(Android/iOS/web/all): Android

We’re running an ejected app. We typically use the expo publish command to send OTA updates to clients, which are downloaded the next time they run the app, and then implemented the following time.

Recently, we’ve seen new versions of our app not being implemented on clients’ devices. We upgraded to SDK 35 recently on our master branch, which we publish from. However, some of our clients’ apps are still on SDK 34.0.0 because we install the app directly onto the device.

Is the difference in SDK a possible issue here or is it something else? Hoping I don’t need to reinstall the app on everyone’s devices to get new JS code.

Upon further investigation, it does appear that apps that have the SDK35 apk installed are receiving the updates, but apps installed with the SDK 34 apk are not.

So now the question is, will we have to reinstall the apk with every Expo upgrade or is this something specific with upgrading from 34 to 35?


An app can only install an OTA update with the same SDK version as the app (and the same release channel). This is because the JavaScript code depends on native code that is part of the Expo SDK, and this native code cannot be updated by an OTA update. For your SDK 34 users to get the update, they will first have to upgrade the SDK 35 version of the app from the App/Play stores.

EDIT: Sorry, I see your users don’t install the app from the App/Play stores. In that case it seems you will need a way to distribute new versions of the app every time you upgrade to a new Expo SDK.

See the flowchart here:

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