Crash on Android 13 Beta due to expo-update

Please provide the following:

  1. SDK Version:
    ├── expo-application@4.1.0

├── expo-barcode-scanner@11.3.0

├── expo-camera@12.2.0

├── expo-constants@13.1.1

├── expo-device@4.2.0

├── expo-file-system@14.0.0

├── expo-image-picker@13.1.1

├── expo-screen-orientation@4.2.0

├── expo-splash-screen@0.15.1

├── expo-status-bar@1.3.0

├── expo-updates@0.13.3

├── expo@45.0.3

  1. Platforms(Android/iOS/web/all): Android

  2. Add the appropriate “Tag” based on what Expo library you have a question on.

On Google Play I see crash log for Android 13 beta devices.

I’m testing using Android 12 devices and everything works fine with that. I plan to disable expo-updates to see if that fixes the crash. Should I simply change app.json or do I need to remove the whole package?

Can I simply do:


{
  "expo": {
    "name": "Test Drive Application",
    "slug": "TestDrive",
    "version": "1.0.0",
    "plugins": [
      "expo-image-picker"
    ],
    "assetBundlePatterns": [
      "**/*"
    ],
    "orientation": "portrait",
    "updates": {
      "enabled": false
    }
  }
}

This is a bare workflow app - and I don’t actually remember installing expo-updates manually. I think it must have been included automatically somehow.

Hi @joshua-revolution, the instructions to remove expo-updates package are available here. There is a set of configs that you might have to revert to remove this package from your project.

I will try setting enabled to false in Android manifest. Seems like i can’t remove expo-updates because Sentry is dependant on it

After setting updates to false I still get this error:

08-01 12:59:22.144  6605  6605 E AndroidRuntime: java.lang.AssertionError: The embedded manifest is invalid or could not be read. Make sure you have configured expo-updates correctly in android/app/build.gradle. app.manifest
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.manifest.EmbeddedManifest.get(EmbeddedManifest.kt:31)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.launcher.NoDatabaseLauncher.<init>(NoDatabaseLauncher.kt:62)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.launcher.NoDatabaseLauncher.<init>(NoDatabaseLauncher.kt:15)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.UpdatesController.start(UpdatesController.kt:203)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.UpdatesController$Companion.initialize(UpdatesController.kt:464)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.updates.UpdatesPackage$createReactNativeHostHandlers$handler$1.onWillCreateReactInstanceManager(UpdatesPackage.kt:41)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at expo.modules.ReactNativeHostWrapperBase.createReactInstanceManager(ReactNativeHostWrapperBase.kt:28)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at com.facebook.react.ReactNativeHost.getReactInstanceManager(ReactNativeHost.java:42)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at au.com.rev.testdrive.expo.MainApplication.onCreate(MainApplication.java:68)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1213)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6906)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.app.ActivityThread.access$1600(ActivityThread.java:261)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2154)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:111)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:238)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:357)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8089)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
08-01 12:59:22.144  6605  6605 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)

AndroidManifest.xml

  <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme" android:usesCleartextTraffic="true" android:requestLegacyExternalStorage="true">
    <meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@joshua-revolution/TestDrive"/>
    <meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="45.0.0"/>
    <meta-data android:name="expo.modules.updates.ENABLED" android:value="false"/>
    <meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
    <meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>