-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
"IUpdatesController.launchAssetFile should not be called in dev client" error when running detox tests #28918
Comments
Running into this same error running detox tests on Expo 31 |
@douglowder I tried running the detox tests using an attached android device (instead of genymotion) and I got the same error. I am able to install and run the app on the android device using all of the adb commands that detox uses. For example all of these commands work:
I think the problem is in how I am launching the app:
I am getting the same error:
|
I have noticed that I also get the same error if I have deliberately incorrect deep link for the dev client:
This was the code in the openApp.js. Notice the exp+No-WORK. Maybe I just need help understanding what I should be setting this value to.
here is my app.config
|
Also, I am able to get the app to start successfully using expo run. I have tried replicating the "Expo waiting on" address in the openApp.js file but I still get the same error.
|
More detail: I am able to successfully run the detox tests in the release build: npx detox test -c android.att.release |
I've been looking at the expo updates code to figure out what might be causing the execution to end here: UpdatesDevLauncherController.kt#L79 It's called from UpdatesPackage.kt#L103 |
@wouterdebruijn Any luck on resolving your instance? |
If I uninstall expo-updates, I am able to run the detox tests and the error does not occur. I tried re-installing expo-updates and adding this to the debug/AndroidManifest.xml but it did not help:
I double checked the APK to verify the values were in the app that was installed on the phone before the tests were run.
|
Summary
I get the following error when running detox tests on a debug instance of my app on Android hosted in Genymotion. I have not tried this on any other Android emulator or device as I do not have one.
Managed or bare workflow?
bare
What platform(s) does this occur on?
Android
Package versions
"dependencies": {
"@aws-amplify/react-native": "1.1.0",
"@aws-amplify/ui-react-native": "^2.2.0",
"@expo/config": "~9.0.1",
"@expo/server": "^0.4.2",
"@expo/vector-icons": "^14.0.2",
"@react-native-async-storage/async-storage": "1.23.1",
"@react-native-community/netinfo": "11.3.1",
"@react-navigation/drawer": "^6.6.15",
"@react-navigation/material-top-tabs": "^6.6.13",
"@react-navigation/native": "^6.1.17",
"@reduxjs/toolkit": "2.2.4",
"@tamagui/babel-plugin": "^1.98.0",
"@tamagui/build": "^1.98.0",
"@tamagui/config": "^1.98.0",
"@tamagui/lucide-icons": "^1.98.0",
"@tamagui/metro-plugin": "^1.98.0w",
"aws-amplify": "^6.3.0",
"babel-preset-expo": "^11.0.6",
"core-js": "^3.37.1",
"dotenv": "^16.4.5",
"expo": "~51.0.6",
"expo-application": "~5.9.1",
"expo-constants": "~16.0.1",
"expo-dev-client": "~4.0.13",
"expo-font": "~12.0.5",
"expo-image": "~1.12.9",
"expo-linking": "~6.3.1",
"expo-router": "~3.5.14",
"expo-screen-orientation": "~7.0.5",
"expo-splash-screen": "~0.27.4",
"expo-status-bar": "~1.12.1",
"expo-system-ui": "~3.0.4",
"expo-updates": "~0.25.12",
"moment": "^2.30.1",
"react": "18.2.0",
"react-devtools": "^5.2.0",
"react-dom": "18.2.0",
"react-native": "0.74.1",
"react-native-gesture-handler": "~2.16.2",
"react-native-get-random-values": "~1.11.0",
"react-native-reanimated": "~3.10.1",
"react-native-safe-area-context": "4.10.1",
"react-native-screens": "3.31.1",
"react-native-sqlite-storage": "^6.0.1",
"react-native-svg": "15.2.0",
"react-native-svg-transformer": "^1.4.0",
"react-native-url-polyfill": "^2.0.0",
"react-native-web": "~0.19.11",
"react-redux": "^9.1.2",
"tamagui": "^1.98.0",
"tslib": "^2.6.2"
},
"devDependencies": {
"@babel/core": "^7.24.5",
"@config-plugins/detox": "^8.0.0",
"@expo/metro-config": "~0.18.3",
"@expo/metro-runtime": "~3.2.1",
"@nx/detox": "19.0.3",
"@nx/eslint": "19.0.3",
"@nx/eslint-plugin": "19.0.3",
"@nx/expo": "19.0.3",
"@nx/jest": "19.0.3",
"@nx/js": "19.0.3",
"@nx/workspace": "19.0.3",
"@swc-node/register": "1.9.1",
"@swc/core": "^1.5.7",
"@testing-library/jest-dom": "^6.4.5",
"@testing-library/jest-native": "~5.4.3",
"@testing-library/react-native": "12.4.3",
"@types/jest": "^29.5.12",
"@types/node": "^20.12.12",
"@types/react": "~18.2.79",
"@typescript-eslint/eslint-plugin": "7.8.0",
"@typescript-eslint/parser": "7.8.0",
"babel-jest": "^29.7.0",
"cypress": "^13.9.0",
"detox": "^20.21.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-cypress": "^3.2.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.2",
"jest": "^29.7.0",
"jest-circus": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-expo": "~51.0.1",
"nx": "19.0.3",
"prettier": "^3.2.5",
"react-test-renderer": "18.2.0",
"renamer": "^5.0.0",
"replace-in-file": "^7.1.0",
"shelljs": "^0.8.5",
"ts-jest": "^29.1.2",
"ts-node": "^10.9.2",
"typescript": "~5.3.3"
},
Environment
expo-env-info 1.2.0 environment info:
System:
OS: Linux 5.15 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
Shell: 5.1.4 - /bin/bash
Binaries:
Node: 20.12.2 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.6.0 - /usr/local/share/npm-global/bin/npm
Watchman: 4.9.0 - /usr/bin/watchman
SDKs:
Android SDK:
API Levels: 34
Build Tools: 33.0.1, 34.0.0
Android NDK: 22.1.7171670
npmGlobalPackages:
eas-cli: 7.8.5
Expo Workflow: bare
Reproducible demo
https://github.com/Stewartarmbrecht/my-solution
Pre-requisits
1. Docker Desktop
2. VS Code
3. Dev Containers Extension in VS Code
4. Genymotion Account
Steps to Recreate
Stacktrace (if a crash is involved)
I don't have stack trace but here is the detox log output. I terminated the run after the error occurred.
The text was updated successfully, but these errors were encountered: