Cannot disable expo-updates

Please provide the following:

  1. SDK Version: 46
  2. Platforms(Android/iOS/web/all): All
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

I have the expo-updates package V0.14.6 installed in my bare RN project on Expo SDK 46, RN version 0.69.7 (the one that was just released to fix the Android build issue with expo-updates). I require the expo-updates package, because I use release channels in our deployment process, and it’s the only way I know of to get the release channel from inside the JS code. However, I don’t need to use OTA updates. I was using OTA updates before, but we hardly ever used the feature, and in the process of upgrading from Expo SDK 44-46, my app is now crashing on startup, and I believe it’s related to an issue with Expo Updates, because the crash log of the android application says

11-09 12:00:01.835  7914  7955 E AndroidRuntime: FATAL EXCEPTION: expo-updates-error-recovery
11-09 12:00:01.835  7914  7955 E AndroidRuntime: Process: com.evidencebasedcourses, PID: 7914
11-09 12:00:01.835  7914  7955 E AndroidRuntime: com.facebook.react.common.JavascriptException: TypeError: Cannot call a class as a function, stack:

I would like to disable OTA updates in my project by editing the EXUpdatesEnabled value in the Expo.plist file, and adding
<meta-data android:name="expo.modules.updates.ENABLED" android:value="false"/> to the AndroidManifest.xml file. However, when I submit my builds to EAS with the following command eas build --profile internalDevelopment --platform all both the Expo.plist file and the AndroidManifest.xml file are being updated to set those values to “true”. I can’t figure out what code is updating the manifest and Expo.plist files. Help would be appreciated. I just want to disable OTA updates in my project.

expo-env-info 1.0.5 environment info:
System:
OS: macOS 12.4
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 14.18.3 - /usr/local/bin/node
Yarn: 1.22.17 - /opt/homebrew/bin/yarn
npm: 8.5.0 - ~/.npm-global/bin/npm
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7935034
Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild
npmPackages:
expo: ^46.0.0 => 46.0.16
react: 18.0.0 => 18.0.0
react-dom: 18.0.0 => 18.0.0
react-native: 0.69.7 => 0.69.7
react-native-web: ~0.18.7 => 0.18.10
npmGlobalPackages:
eas-cli: 2.6.0
expo-cli: 6.0.8
Expo Workflow: bare

Ultimately I just decided to use Environment variables instead of relying on the release channels to configure my app and completely removed the expo-updates package.

Hi @matthewgaba

I think it’s from here:

and that’s controlled by expo.updates.enabled in app.js.

But I see you have another solution already.

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