Detox icon indicating copy to clipboard operation
Detox copied to clipboard

Detox tests running locally but not in CI/CD pipeline

Open alyssaw90 opened this issue 2 years ago • 22 comments

Description

When running our detox tests locally everything is working as expected. When running the detox test via the Azure pipeline we get a timeout error (see below). The pipeline has worked in the past, but it is now broken. We have used the troubleshooting guidelines but could use some recommendations on what the issue could be. Is it because of the React Native version we are using? Do we need to upgrade our detox version? What versions of React Native does detox support?


23:45:39.016 detox[66548] INFO:  [test.js] mocha --config e2e/.mocharc.json --cleanup --configuration ios.sim.release --grep :android: --invert --artifacts-location /Users/runner/work/1/TestResults/artifacts/ --record-logs all --record-videos all --take-screenshots all --use-custom-logger true e2e


23:49:38.955 detox[66552] INFO:  [AppleSimUtils.js] com.microsoft.mymsft launched. To watch simulator logs, run:
        /usr/bin/xcrun simctl spawn 63A63B15-4DBA-41CC-B2A4-373DE87483F2 log stream --level debug --style compact --predicate 'process == "mymicrosoft"'
23:49:43.542 detox[66552] WARN:  [DetoxConnection.js/ERROR, #49673] Action dispatched too early, there is no session to use:

HINT: Please report this issue on our GitHub tracker:
https://github.com/wix/Detox/issues

{
  type: 'AppWillTerminateWithError',
  params: [Object],
  messageId: -10000
}
23:49:48.487 detox[66552] WARN:  [DetoxConnection.js/ERROR, #49673] Action dispatched too early, there is no session to use:

HINT: Please report this issue on our GitHub tracker:
https://github.com/wix/Detox/issues

{
  messageId: -10000,
  type: 'AppWillTerminateWithError',
  params: [Object]
}
  1) "before all" hook in "{root}"
23:50:39.964 detox[66552] ERROR: [APP_UNREACHABLE] Detox can't seem to connect to the test app(s)!

HINT: 

The test app might have crashed prematurely, or has had trouble setting up the connection.
Refer to our troubleshooting guide, for full details: https://wix.github.io/Detox/docs/troubleshooting/running-tests#tests-execution-hangs 




  0 passing (5m)
  1 failing

  1) "before all" hook in "{root}":
     Error: Timeout of 300000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
      at listOnTimeout (internal/timers.js:557:17)
      at processTimers (internal/timers.js:500:7)



23:50:44.329 detox[66548] ERROR: [cli.js] Command failed: mocha --config e2e/.mocharc.json --cleanup --configuration ios.sim.release --grep :android: --invert --artifacts-location /Users/runner/work/1/TestResults/artifacts/ --record-logs all --record-videos all --take-screenshots all --use-custom-logger true e2e

##[error]Bash exited with code '1'.

Your environment

Detox version: 19.13.0 React Native version: 0.65.1 Node version: 14.21.2 (pipeline) 16.17.1 (laptop) Device model: Azure Pipelines/Mac OS: Mac OS 12.6.2(pipeline)/12.6.2(laptop) Test-runner (select one): Other

alyssaw90 avatar Jan 13 '23 00:01 alyssaw90

What do you get in the logs from the device? The message AppWillTerminateWithError means a native crash or an unhandled JS error.

noomorph avatar Jan 13 '23 08:01 noomorph

@noomorph - When I check the pipeline for logs, no logs can be found. My team and I think it is because logs aren't being created. We have also confirmed we are calling the correct flags to create logs. I am going to check again today to see if the logs may have been missed.

alyssaw90 avatar Jan 13 '23 18:01 alyssaw90

@d4vidi do we (technically) support React Native 0.65.x ? I guess we do, right? Maybe 0.59 is an issue, but 60+ is ok, AFAIR.

@alyssaw90 if there's indeed nothing literally, well, you could tweak your ci script to run this log dumper in parallel:

/usr/bin/xcrun simctl spawn booted log stream --level debug --style compact --predicate 'process == "mymicrosoft"' &

and see what it prints when you get AppWillTerminateWithError.

noomorph avatar Jan 16 '23 14:01 noomorph

We don't check that far back for regressions so I can't give a hard yes on RN .65. I wouldn't be surprised to learn that it's not fully functional.

d4vidi avatar Jan 16 '23 14:01 d4vidi

Related idea: #3854.

noomorph avatar Jan 18 '23 09:01 noomorph

Thank you @noomorph and @d4vidi for this additional information. I was able to find some logs and going through them this week.

alyssaw90 avatar Jan 18 '23 18:01 alyssaw90

@alyssaw90 were you able to resolve the issue. I've noticed unless the react package manager is running the tests timeout. I am able to replicate it locally, have the package manager running and tests pass.

adamsrosco avatar Feb 02 '23 12:02 adamsrosco

We have not been able to resolve the issue. I will pass this on that the timeout could be an issue and test that in our pipeline.

alyssaw90 avatar Mar 01 '23 23:03 alyssaw90

It's unclear for me now what to do about this issue 🤔

noomorph avatar Mar 13 '23 13:03 noomorph

Also having a similar issue with android. It seems like there is an issue with the launchApp() wrapper that makes it time out

https://github.com/wix/Detox/issues/3602

owens-ben avatar Mar 13 '23 14:03 owens-ben

Bump, spent literally weeks with Bitrise support trying to fix this and it's definitely a Detox issue. I also have the same issue where the logs don't get created.

This is a total blocker, would appreciate just a response from the Detox team about this!

I am 90% sure its something with the timeout in launchApp().

owens-ben avatar Apr 04 '23 14:04 owens-ben

Here's a trace level log dump

Click me
BUILD SUCCESSFUL in 12m 47s
774 actionable tasks: 497 executed, 277 from cache
16:16:25.432 detox[6650] B lifecycle node_modules/.bin/detox test --configuration android.emu.Pixel4.android_12.qa.debug -d -l log.txt --configuration android.emu.generic e2e/Regression/test.e2e.ts --start --record-logs all --loglevel trace --detectOpenHandles --debug-synchronization 500 --artifacts-location /bitrise/deploy
data: {
  "id": "8f787342-d42e-255b-08a3-a529b114e22b",
  "detoxConfig": {
    "configurationName": "android.emu.generic",
    "apps": {
      "default": {
        "type": "android.apk",
        "binaryPath": "android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk",
        "testBinaryPath": "android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk",
        "build": "ENVFILE=.env && cd android && ./gradlew assembleQaDebug assembleQaDebugAndroidTest -DtestBuildType=debug && cd .."
      }
    },
    "artifacts": {
      "rootDir": "/bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z",
      "plugins": {
        "log": {
          "enabled": true,
          "keepOnlyFailedTestsArtifacts": false
        },
        "screenshot": {
          "enabled": true,
          "shouldTakeAutomaticSnapshots": false,
          "keepOnlyFailedTestsArtifacts": false
        },
        "video": {
          "enabled": false,
          "keepOnlyFailedTestsArtifacts": false
        },
        "instruments": {
          "enabled": false,
          "keepOnlyFailedTestsArtifacts": false
        },
        "uiHierarchy": {
          "enabled": false,
          "keepOnlyFailedTestsArtifacts": false
        }
      }
    },
    "behavior": {
      "init": {
        "keepLockFile": false,
        "reinstallApp": true,
        "exposeGlobals": true
      },
      "cleanup": {
        "shutdownDevice": false
      },
      "launchApp": "auto"
    },
    "cli": {
      "artifactsLocation": "/bitrise/deploy",
      "recordLogs": "all",
      "configuration": "android.emu.generic",
      "debugSynchronization": 500,
      "loglevel": "trace",
      "start": true
    },
    "device": {
      "type": "android.emulator",
      "device": {
        "avdName": "emulator"
      }
    },
    "logger": {
      "level": "trace",
      "overrideConsole": true,
      "options": {
        "showLoggerName": true,
        "showPid": true,
        "showLevel": false,
        "showMetadata": false,
        "basepath": "/bitrise/src/node_modules/detox/src",
        "prefixers": {},
        "stringifiers": {}
      }
    },
    "testRunner": {
      "retries": 0,
      "forwardEnv": false,
      "bail": false,
      "jest": {
        "setupTimeout": 120000,
        "teardownTimeout": 30000,
        "retryAfterCircusRetries": false,
        "reportSpecs": false,
        "reportWorkerAssign": false
      },
      "args": {
        "$0": "jest",
        "_": [
          "e2e/Regression/test.e2e.ts"
        ],
        "config": "e2e/jest.config.ts",
        "detectOpenHandles": true,
        "--": []
      },
      "$0": "jest"
    },
    "session": {
      "autoStart": true,
      "debugSynchronization": 500
    }
  },
  "detoxIPCServer": "primary-6650",
  "testResults": [],
  "testSessionIndex": 0,
  "workersCount": 0
}
16:16:25.460 detox[6650] i ipc Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-6650
16:16:25.464 detox[6650] i ipc starting server on  /tmp/detox.primary-6650 
16:16:25.464 detox[6650] i ipc starting TLS server false
16:16:25.465 detox[6650] i ipc starting server as Unix || Windows Socket
16:16:25.474 detox[6650] i ws-server Detox server listening on localhost:36351...
16:16:25.475 detox[6650] i lifecycle Serialized the session state at: /tmp/8f787342-d42e-255b-08a3-a529b114e22b.detox.json
16:16:25.480 detox[6650] B lifecycle jest --config e2e/jest.config.ts --detectOpenHandles e2e/Regression/test.e2e.ts
16:16:29.843 detox[6662] i ipc Service path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + id 
16:16:29.852 detox[6662] i ipc requested connection to  primary-6650 /tmp/detox.primary-6650
16:16:29.853 detox[6662] i ipc Connecting client on Unix Socket : /tmp/detox.primary-6650
16:16:29.856 detox[6650] i ipc ## socket connection to server detected ##
16:16:29.858 detox[6662] i ipc retrying reset
16:16:29.861 detox[6662] i ipc dispatching event to  primary-6650 /tmp/detox.primary-6650  :  registerContext , { id: 'secondary-6662' }
16:16:29.865 detox[6650] i ipc received event of :  registerContext { id: 'secondary-6662' }
16:16:29.866 detox[6650] i ipc dispatching event to socket  :  registerContextDone { testResults: [], testSessionIndex: 0 }
16:16:29.867 detox[6662] i ipc ## received events ##
16:16:29.869 detox[6662] i ipc detected event registerContextDone { testResults: [], testSessionIndex: 0 }
16:16:29.984 detox[6662] B lifecycle e2e/Regression/test.e2e.ts
16:16:30.004 detox[6662] B lifecycle set up environment
16:16:30.006 detox[6662] i ipc dispatching event to  primary-6650 /tmp/detox.primary-6650  :  registerWorker , { workerId: 'w1' }
16:16:30.007 detox[6650] i ipc received event of :  registerWorker { workerId: 'w1' }
16:16:30.007 detox[6650] i ipc dispatching event to socket  :  registerWorkerDone { workersCount: 1 }
16:16:30.008 detox[6650] i ipc broadcasting event to all known sockets listening to  /tmp/detox.primary-6650  :   sessionStateUpdate { workersCount: 1 }
16:16:30.008 detox[6662] i ipc ## received events ##
16:16:30.009 detox[6662] i ipc detected event registerWorkerDone { workersCount: 1 }
16:16:30.192 detox[6662] i ipc ## received events ##
16:16:30.194 detox[6662] i ipc detected event sessionStateUpdate { workersCount: 1 }
16:16:30.198 detox[6650] B ws-server@37866 connection :36351<->:37866
16:16:30.200 detox[6662] i ws-client opened web socket to: ws://localhost:36351
16:16:30.203 detox[6662] i ws-client send message
data: {"type":"login","params":{"sessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a","role":"tester"},"messageId":0}
16:16:30.206 detox[6650] i ws-server@37866 get
data: {"type":"login","params":{"sessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a","role":"tester"},"messageId":0}
16:16:30.206 detox[6650] i ws-server created session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a
16:16:30.207 detox[6650] i ws-server@37866 send
data: {
  "type": "loginSuccess",
  "params": {
    "testerConnected": true,
    "appConnected": false
  },
  "messageId": 0
}
16:16:30.208 detox[6650] i ws-server tester joined session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a
16:16:30.208 detox[6662] i ws-client get message
data: {"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0}
 
16:16:30.322 detox[6662] B device allocate
args: ({"type":"android.emulator","device":{"avdName":"emulator"}})
16:16:30.324 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -list-avds --verbose
16:16:30.378 detox[6662] i child-process:EXEC_SUCCESS emulator
16:16:30.380 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -version 
16:16:30.701 detox[6662] i child-process:EXEC_SUCCESS INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag.
Android emulator version 31.3.14.0 (build_id 9322596) (CL:N/A)
Copyright (C) 2006-2017 The Android Open Source Project and many others.
This program is a derivative of the QEMU CPU emulator (www.qemu.org).
This software is licensed under the terms of the GNU General Public
License version 2, as published by the Free Software Foundation, and
may be copied, distributed, and modified under those terms.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
16:16:30.704 detox[6662] i device Detected emulator binary version { major: 31, minor: 3, patch: 14, toString: [Function: toString] }
16:16:30.705 detox[6662] i device:ALLOCATE_DEVICE Trying to allocate a device based on "emulator"
16:16:30.708 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb"  devices
16:16:30.759 detox[6662] i child-process:EXEC_SUCCESS List of devices attached
emulator-5554	device
16:16:30.763 detox[6662] i device:TELNET_CONNECTING port: 5554, host: localhost
16:16:30.800 detox[6662] i device:DEVICE_LOOKUP Found a matching & free device emulator-5554
16:16:30.806 detox[6662] i device:ALLOCATE_DEVICE Settled on emulator-5554
16:16:30.807 detox[6662] B device _launchEmulator
args: ("emulator", "emulator-5554", true, {"port":null})
16:16:30.808 detox[6662] B device _awaitEmulatorBoot
args: ("emulator-5554")
16:16:30.808 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop dev.bootcomplete"
16:16:30.951 detox[6662] i child-process:EXEC_SUCCESS 1
16:16:30.954 detox[6662] E device _awaitEmulatorBoot
16:16:30.954 detox[6662] B artifacts-manager onBootDevice
args: ({"deviceId":"emulator-5554","type":"emulator","coldBoot":false})
16:16:30.955 detox[6662] E artifacts-manager onBootDevice
16:16:30.955 detox[6662] E device _launchEmulator
16:16:30.956 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop ro.build.version.sdk"
16:16:30.991 detox[6662] i child-process:EXEC_SUCCESS 31
16:16:30.993 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global animator_duration_scale 0"
16:16:31.043 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.045 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global window_animation_scale 0"
16:16:31.086 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.088 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global transition_animation_scale 0"
16:16:31.129 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.132 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "dumpsys power | grep \"^[ ]*m[UW].*=\""
16:16:31.234 detox[6662] i child-process:EXEC_SUCCESS   mWakefulness=Awake
mWakefulnessChanging=false
mWakeLockSummary=0x0
mWakeUpWhenPluggedOrUnpluggedConfig=false
mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig=false
mUserActivityTimeoutOverrideFromWindowManager=-1
mUserInactiveOverrideFromWindowManager=false
mUserId=0
mWakeLockSummary=0x0
mUserInteractionBackoffMillis=60000
16:16:31.237 detox[6662] E device allocate
16:16:31.274 detox[6662] B device installUtilBinaries
args: ()
16:16:31.274 detox[6662] E device installUtilBinaries
16:16:31.275 detox[6662] B device selectApp
args: ("default")
16:16:31.292 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump badging "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk"
16:16:31.330 detox[6662] i child-process:EXEC_SUCCESS package: name='com.mycompanyapp.app.qa' versionCode='8012345' versionName='2.2.0' platformBuildVersionName='13' platformBuildVersionCode='33' compileSdkVersion='33' compileSdkVersionCodename='13'
install-location:'preferExternal'
sdkVersion:'28'
targetSdkVersion:'33'
uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.BLUETOOTH' maxSdkVersion='30'
uses-permission: name='android.permission.BLUETOOTH_ADMIN' maxSdkVersion='30'
uses-permission: name='android.permission.BLUETOOTH_SCAN'
uses-permission: name='android.permission.BLUETOOTH_CONNECT'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.MODIFY_AUDIO_SETTINGS'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.READ_PHONE_STATE'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='com.google.android.gms.permission.AD_ID'
uses-permission: name='android.permission.POST_NOTIFICATIONS'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
uses-permission: name='android.permission.READ_CALENDAR'
uses-permission: name='android.permission.WRITE_CALENDAR'
uses-permission: name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='android.permission.FOREGROUND_SERVICE'
uses-permission: name='android.permission.VIBRATE'
uses-permission: name='android.permission.USE_FULL_SCREEN_INTENT'
uses-permission: name='android.permission.SCHEDULE_EXACT_ALARM'
uses-permission: name='android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS' maxSdkVersion='30'
uses-permission: name='android.permission.ACCESS_NOTIFICATION_POLICY'
uses-permission: name='android.permission.BROADCAST_STICKY'
uses-permission: name='android.permission.CALL_PHONE'
application-label:'Enhance Select'
application-label-af:'Enhance Select'
application-label-am:'Enhance Select'
application-label-ar:'Enhance Select'
application-label-as:'Enhance Select'
application-label-az:'Enhance Select'
application-label-be:'Enhance Select'
application-label-bg:'Enhance Select'
application-label-bn:'Enhance Select'
application-label-bs:'Enhance Select'
application-label-ca:'Enhance Select'
application-label-cs:'Enhance Select'
application-label-da:'Enhance Select'
application-label-de:'Enhance Select'
application-label-el:'Enhance Select'
application-label-en-AU:'Enhance Select'
application-label-en-CA:'Enhance Select'
application-label-en-GB:'Enhance Select'
application-label-en-IN:'Enhance Select'
application-label-en-XC:'Enhance Select'
application-label-es:'Enhance Select'
application-label-es-419:'Enhance Select'
application-label-es-US:'Enhance Select'
application-label-et:'Enhance Select'
application-label-eu:'Enhance Select'
application-label-fa:'Enhance Select'
application-label-fi:'Enhance Select'
application-label-fr:'Enhance Select'
application-label-fr-CA:'Enhance Select'
application-label-gl:'Enhance Select'
application-label-gu:'Enhance Select'
application-label-hi:'Enhance Select'
application-label-hr:'Enhance Select'
application-label-hu:'Enhance Select'
application-label-hy:'Enhance Select'
application-label-in:'Enhance Select'
application-label-is:'Enhance Select'
application-label-it:'Enhance Select'
application-label-iw:'Enhance Select'
application-label-ja:'Enhance Select'
application-label-ka:'Enhance Select'
application-label-kk:'Enhance Select'
application-label-km:'Enhance Select'
application-label-kn:'Enhance Select'
application-label-ko:'Enhance Select'
application-label-ky:'Enhance Select'
application-label-lo:'Enhance Select'
application-label-lt:'Enhance Select'
application-label-lv:'Enhance Select'
application-label-mk:'Enhance Select'
application-label-ml:'Enhance Select'
application-label-mn:'Enhance Select'
application-label-mr:'Enhance Select'
application-label-ms:'Enhance Select'
application-label-my:'Enhance Select'
application-label-nb:'Enhance Select'
application-label-ne:'Enhance Select'
application-label-nl:'Enhance Select'
application-label-or:'Enhance Select'
application-label-pa:'Enhance Select'
application-label-pl:'Enhance Select'
application-label-pt:'Enhance Select'
application-label-pt-BR:'Enhance Select'
application-label-pt-PT:'Enhance Select'
application-label-ro:'Enhance Select'
application-label-ru:'Enhance Select'
application-label-si:'Enhance Select'
application-label-sk:'Enhance Select'
application-label-sl:'Enhance Select'
application-label-sq:'Enhance Select'
application-label-sr:'Enhance Select'
application-label-sr-Latn:'Enhance Select'
application-label-sv:'Enhance Select'
application-label-sw:'Enhance Select'
application-label-ta:'Enhance Select'
application-label-te:'Enhance Select'
application-label-th:'Enhance Select'
application-label-tl:'Enhance Select'
application-label-tr:'Enhance Select'
application-label-uk:'Enhance Select'
application-label-ur:'Enhance Select'
application-label-uz:'Enhance Select'
application-label-vi:'Enhance Select'
application-label-zh:'Enhance Select'
application-label-zh-CN:'Enhance Select'
application-label-zh-HK:'Enhance Select'
application-label-zh-TW:'Enhance Select'
application-label-zu:'Enhance Select'
application-icon-120:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-160:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-240:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-320:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-480:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-640:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-65534:'res/mipmap-anydpi-v26/ic_launcher.xml'
application-icon-65535:'res/mipmap-anydpi-v26/ic_launcher.xml'
application: label='Enhance Select' icon='res/mipmap-anydpi-v26/ic_launcher.xml'
application-debuggable
launchable-activity: name='com.mycompanyapp.app.MainActivity'  label='Enhance Select' icon=''
feature-group: label=''
uses-gl-es: '0x20000'
uses-feature-not-required: name='android.hardware.bluetooth'
uses-feature-not-required: name='android.hardware.camera'
uses-feature-not-required: name='android.hardware.camera.autofocus'
uses-feature-not-required: name='android.hardware.microphone'
uses-feature-not-required: name='android.hardware.telephony'
uses-feature: name='android.hardware.faketouch'
uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
uses-feature: name='android.hardware.location'
uses-implied-feature: name='android.hardware.location' reason='requested android.permission.ACCESS_COARSE_LOCATION permission, and requested android.permission.ACCESS_FINE_LOCATION permission'
uses-feature: name='android.hardware.screen.portrait'
uses-implied-feature: name='android.hardware.screen.portrait' reason='one or more activities have specified a portrait orientation'
uses-feature: name='android.hardware.wifi'
uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission'
main
other-activities
other-receivers
other-services
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-419' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh' 'zh-CN' 'zh-HK' 'zh-TW' 'zu'
densities: '120' '160' '240' '320' '480' '640' '65534' '65535'
native-code: 'x86_64'
16:16:31.332 detox[6662] E device selectApp
16:16:31.333 detox[6662] B device uninstallApp
args: ()
16:16:31.333 detox[6662] B artifacts-manager onBeforeUninstallApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:31.334 detox[6662] E artifacts-manager onBeforeUninstallApp
16:16:31.334 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.mycompanyapp.app.qa"
16:16:31.382 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.385 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.mycompanyapp.app.qa.test"
16:16:31.425 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.427 detox[6662] E device uninstallApp
16:16:31.427 detox[6662] B device selectApp
args: ("default")
16:16:31.428 detox[6662] B device terminateApp
args: ()
16:16:31.428 detox[6662] B artifacts-manager onBeforeTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:31.429 detox[6662] E artifacts-manager onBeforeTerminateApp
16:16:31.429 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa"
16:16:31.473 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.475 detox[6662] B artifacts-manager onTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:31.476 detox[6662] E artifacts-manager onTerminateApp
16:16:31.476 detox[6662] E device terminateApp
16:16:31.476 detox[6662] E device selectApp
16:16:31.476 detox[6662] B device installApp
args: ()
16:16:31.477 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump xmlstrings "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk" AndroidManifest.xml
16:16:31.501 detox[6662] i child-process:EXEC_SUCCESS String pool of 293 unique UTF-16 non-sorted strings, 293 entries and 0 styles using 23828 bytes:
String #0: theme
String #1: label
String #2: icon
String #3: name
String #4: permission
String #5: enabled
String #6: debuggable
String #7: exported
String #8: process
String #9: taskAffinity
String #10: stateNotNeeded
String #11: excludeFromRecents
String #12: authorities
String #13: initOrder
String #14: grantUriPermissions
String #15: priority
String #16: launchMode
String #17: screenOrientation
String #18: configChanges
String #19: value
String #20: resource
String #21: scheme
String #22: host
String #23: pathPrefix
String #24: minSdkVersion
String #25: versionCode
String #26: versionName
String #27: windowSoftInputMode
String #28: noHistory
String #29: targetSdkVersion
String #30: maxSdkVersion
String #31: allowBackup
String #32: glEsVersion
String #33: required
String #34: installLocation
String #35: hardwareAccelerated
String #36: usesCleartextTraffic
String #37: autoVerify
String #38: resizeableActivity
String #39: supportsPictureInPicture
String #40: directBootAware
String #41: networkSecurityConfig
String #42: roundIcon
String #43: visibleToInstantApps
String #44: compileSdkVersion
String #45: compileSdkVersionCodename
String #46: appComponentFactory
String #47: foregroundServiceType
String #48: allowNativeHeapPointerTagging
String #49: usesPermissionFlags
String #50: 
String #51: /jes/
String #52: 13
String #53: 2.2.0
String #54: :playcore_missing_splits_activity
String #55: GlideModule
String #56: action
String #57: activity
String #58: android
String #59: android.app.action.APP_BLOCK_STATE_CHANGED
String #60: android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED
String #61: android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED
String #62: android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED
String #63: android.hardware.bluetooth
String #64: android.hardware.camera
String #65: android.hardware.camera.autofocus
String #66: android.hardware.microphone
String #67: android.hardware.telephony
String #68: android.intent.action.ACTION_POWER_CONNECTED
String #69: android.intent.action.ACTION_POWER_DISCONNECTED
String #70: android.intent.action.BATTERY_LOW
String #71: android.intent.action.BATTERY_OKAY
String #72: android.intent.action.BOOT_COMPLETED
String #73: android.intent.action.DEVICE_STORAGE_LOW
String #74: android.intent.action.DEVICE_STORAGE_OK
String #75: android.intent.action.DIAL
String #76: android.intent.action.EDIT
String #77: android.intent.action.GET_CONTENT
String #78: android.intent.action.MAIN
String #79: android.intent.action.QUICKBOOT_POWERON
String #80: android.intent.action.SEND
String #81: android.intent.action.SENDTO
String #82: android.intent.action.TIMEZONE_CHANGED
String #83: android.intent.action.TIME_SET
String #84: android.intent.action.VIEW
String #85: android.intent.category.BROWSABLE
String #86: android.intent.category.DEFAULT
String #87: android.intent.category.LAUNCHER
String #88: android.media.action.IMAGE_CAPTURE
String #89: android.net.conn.CONNECTIVITY_CHANGE
String #90: android.permission.ACCESS_COARSE_LOCATION
String #91: android.permission.ACCESS_FINE_LOCATION
String #92: android.permission.ACCESS_NETWORK_STATE
String #93: android.permission.ACCESS_NOTIFICATION_POLICY
String #94: android.permission.ACCESS_WIFI_STATE
String #95: android.permission.BIND_JOB_SERVICE
String #96: android.permission.BLUETOOTH
String #97: android.permission.BLUETOOTH_ADMIN
String #98: android.permission.BLUETOOTH_CONNECT
String #99: android.permission.BLUETOOTH_SCAN
String #100: android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS
String #101: android.permission.BROADCAST_STICKY
String #102: android.permission.CALL_PHONE
String #103: android.permission.CAMERA
String #104: android.permission.DUMP
String #105: android.permission.FOREGROUND_SERVICE
String #106: android.permission.INTERNET
String #107: android.permission.MODIFY_AUDIO_SETTINGS
String #108: android.permission.POST_NOTIFICATIONS
String #109: android.permission.READ_CALENDAR
String #110: android.permission.READ_EXTERNAL_STORAGE
String #111: android.permission.READ_PHONE_STATE
String #112: android.permission.RECEIVE_BOOT_COMPLETED
String #113: android.permission.RECORD_AUDIO
String #114: android.permission.SCHEDULE_EXACT_ALARM
String #115: android.permission.SYSTEM_ALERT_WINDOW
String #116: android.permission.USE_FULL_SCREEN_INTENT
String #117: android.permission.VIBRATE
String #118: android.permission.WAKE_LOCK
String #119: android.permission.WRITE_CALENDAR
String #120: android.permission.WRITE_EXTERNAL_STORAGE
String #121: android.settings.action.MANAGE_OVERLAY_PERMISSION
String #122: android.support.FILE_PROVIDER_PATHS
String #123: androidx.core.app.CoreComponentFactory
String #124: androidx.core.content.FileProvider
String #125: androidx.emoji2.text.EmojiCompatInitializer
String #126: androidx.lifecycle.ProcessLifecycleInitializer
String #127: androidx.room.MultiInstanceInvalidationService
String #128: androidx.startup
String #129: androidx.startup.InitializationProvider
String #130: androidx.work.WorkManagerInitializer
String #131: androidx.work.diagnostics.REQUEST_DIAGNOSTICS
String #132: androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy
String #133: androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy
String #134: androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy
String #135: androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy
String #136: androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver
String #137: androidx.work.impl.background.systemalarm.RescheduleReceiver
String #138: androidx.work.impl.background.systemalarm.SystemAlarmService
String #139: androidx.work.impl.background.systemalarm.UpdateProxies
String #140: androidx.work.impl.background.systemjob.SystemJobService
String #141: androidx.work.impl.diagnostics.DiagnosticsReceiver
String #142: androidx.work.impl.foreground.SystemForegroundService
String #143: androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver
String #144: app.notifee.core.AlarmPermissionBroadcastReceiver
String #145: app.notifee.core.BlockStateBroadcastReceiver
String #146: app.notifee.core.ForegroundService
String #147: app.notifee.core.NotificationAlarmReceiver
String #148: app.notifee.core.NotificationReceiverActivity
String #149: app.notifee.core.RebootBroadcastReceiver
String #150: app.notifee.core.ReceiverService
String #151: app_data_collection_default_enabled
String #152: application
String #153: backend:com.google.android.datatransport.cct.CctBackendFactory
String #154: category
String #155: cct
String #156: com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
String #157: com.facebook.react.devsupport.DevSettingsActivity
String #158: com.google.android.c2dm.intent.RECEIVE
String #159: com.google.android.c2dm.permission.RECEIVE
String #160: com.google.android.c2dm.permission.SEND
String #161: com.google.android.datatransport.runtime.backends.TransportBackendDiscovery
String #162: com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver
String #163: com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService
String #164: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
String #165: com.google.android.gms.auth.api.signin.RevocationBoundService
String #166: com.google.android.gms.auth.api.signin.internal.SignInHubActivity
String #167: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION
String #168: com.google.android.gms.common.api.GoogleApiActivity
String #169: com.google.android.gms.measurement.AppMeasurementJobService
String #170: com.google.android.gms.measurement.AppMeasurementReceiver
String #171: com.google.android.gms.measurement.AppMeasurementService
String #172: com.google.android.gms.permission.AD_ID
String #173: com.google.android.gms.version
String #174: com.google.android.play.core.assetpacks.AssetPackExtractionService
String #175: com.google.android.play.core.common.PlayCoreDialogWrapperActivity
String #176: com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity
String #177: com.google.firebase.INSTANCE_ID_EVENT
String #178: com.google.firebase.MESSAGING_EVENT
String #179: com.google.firebase.components.ComponentDiscoveryService
String #180: com.google.firebase.components.ComponentRegistrar
String #181: com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar
String #182: com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar
String #183: com.google.firebase.components:com.google.firebase.analytics.ktx.FirebaseAnalyticsKtxRegistrar
String #184: com.google.firebase.components:com.google.firebase.crashlytics.CrashlyticsRegistrar
String #185: com.google.firebase.components:com.google.firebase.crashlytics.ktx.FirebaseCrashlyticsKtxRegistrar
String #186: com.google.firebase.components:com.google.firebase.crashlytics.ndk.CrashlyticsNdkRegistrar
String #187: com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar
String #188: com.google.firebase.components:com.google.firebase.iid.Registrar
String #189: com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar
String #190: com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonKtxRegistrar
String #191: com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar
String #192: com.google.firebase.components:com.google.firebase.perf.FirebasePerfRegistrar
String #193: com.google.firebase.components:com.google.firebase.remoteconfig.RemoteConfigRegistrar
String #194: com.google.firebase.components:io.invertase.firebase.app.ReactNativeFirebaseAppRegistrar
String #195: com.google.firebase.iid.FirebaseInstanceIdReceiver
String #196: com.google.firebase.messaging.FirebaseMessagingService
String #197: com.google.firebase.messaging.default_notification_channel_id
String #198: com.google.firebase.messaging.default_notification_color
String #199: com.google.firebase.perf.provider.FirebasePerfProvider
String #200: com.google.firebase.provider.FirebaseInitProvider
String #201: com.htc.intent.action.QUICKBOOT_POWERON
String #202: com.iterable.iterableapi.IterableFirebaseMessagingService
String #203: com.iterable.iterableapi.IterablePushActionReceiver
String #204: com.iterable.iterableapi.IterableTrampolineActivity
String #205: com.iterable.push.ACTION_PUSH_ACTION
String #206: com.mycompanyapp.app.mycompanyappFCMListenerService
String #207: com.mycompanyapp.app.MainActivity
String #208: com.mycompanyapp.app.MainApplication
String #209: com.mycompanyapp.app.qa
String #210: com.mycompanyapp.app.qa.SentryInitProvider
String #211: com.mycompanyapp.app.qa.SentryPerformanceProvider
String #212: com.mycompanyapp.app.qa.androidx-startup
String #213: com.mycompanyapp.app.qa.fileprovider
String #214: com.mycompanyapp.app.qa.firebaseinitprovider
String #215: com.mycompanyapp.app.qa.firebaseperfprovider
String #216: com.mycompanyapp.app.qa.mono.embeddinator.AndroidRuntimeProvider.__mono_init__
String #217: com.mycompanyapp.app.qa.notifee-init-provider
String #218: com.mycompanyapp.app.qa.reactnativefirebaseappinitprovider
String #219: com.mycompanyapp.app.qa.reactnativefirebasecrashlyticsinitprovider
String #220: com.reactnativecommunity.webview.RNCWebViewFileProvider
String #221: com.wix.reactnativenotifications.core.ProxyService
String #222: com.wix.reactnativenotifications.fcm.FcmInstanceIdListenerService
String #223: com.wix.reactnativenotifications.fcm.FcmInstanceIdRefreshHandlerService
String #224: com.zipow.videobox.CallInActivity
String #225: com.zipow.videobox.ConfActivityNormal
String #226: com.zipow.videobox.GreenRoomTransformActivity
String #227: com.zipow.videobox.InMeetingSettingsActivity
String #228: com.zipow.videobox.IntegrationActivity
String #229: com.zipow.videobox.JoinByURLActivity
String #230: com.zipow.videobox.JoinMeetingFailActivity
String #231: com.zipow.videobox.MeetingEndMessageActivity
String #232: com.zipow.videobox.PListActivity
String #233: com.zipow.videobox.SimpleActivity
String #234: com.zipow.videobox.SimpleInMeetingActivity
String #235: com.zipow.videobox.ZmPollingActivity
String #236: com.zipow.videobox.confapp.meeting.videoeffects.VideoEffectsActivity
String #237: com.zipow.videobox.conference.ui.ZmFoldableConfActivity
String #238: com.zipow.videobox.kubi.KubiService
String #239: com.zipow.videobox.share.ScreenShareServiceForSDK
String #240: data
String #241: firebase_analytics_collection_deactivated
String #242: firebase_analytics_collection_enabled
String #243: firebase_crashlytics_collection_enabled
String #244: firebase_messaging_auto_init_enabled
String #245: firebase_performance_collection_deactivated
String #246: firebase_performance_collection_enabled
String #247: gnsdk.Native_gnsdk
String #248: google_analytics_adid_collection_enabled
String #249: google_analytics_automatic_screen_reporting_enabled
String #250: google_analytics_default_allow_ad_personalization_signals
String #251: google_analytics_ssaid_collection_enabled
String #252: http
String #253: http://schemas.android.com/apk/res/android
String #254: https
String #255: intent
String #256: intent-filter
String #257: io.invertase.firebase.app.ReactNativeFirebaseAppInitProvider
String #258: io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsInitProvider
String #259: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingHeadlessService
String #260: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingReceiver
String #261: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingService
String #262: io.invertase.notifee.NotifeeInitProvider
String #263: io.sentry.android.core.SentryInitProvider
String #264: io.sentry.android.core.SentryPerformanceProvider
String #265: io.sentry.auto-init
String #266: mycompanyname
String #267: mycompanyname.com
String #268: listenmycompanyapp.com
String #269: mailto
String #270: manifest
String #271: meta-data
String #272: mono.embeddinator.AndroidRuntimeProvider
String #273: mono.embeddinator.classname
String #274: package
String #275: platformBuildVersionCode
String #276: platformBuildVersionName
String #277: provider
String #278: qa-web.mycompanyname.com
String #279: queries
String #280: receiver
String #281: service
String #282: sms
String #283: smsto
String #284: us.zoom.androidlib.app.ZMFileListActivity
String #285: us.zoom.internal.helper.PrivacyDisclaimerActivity
String #286: us.zoom.videomeetings.intent.action.CallMyPhone
String #287: us.zoom.videomeetings.intent.action.JoinBeforeHost
String #288: us.zoom.videomeetings.intent.action.MeetingInvite
String #289: uses-feature
String #290: uses-permission
String #291: uses-sdk
String #292: youtube.com
16:16:31.503 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump xmlstrings "/bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk" AndroidManifest.xml
16:16:31.524 detox[6662] i child-process:EXEC_SUCCESS String pool of 41 unique UTF-16 non-sorted strings, 41 entries and 0 styles using 2044 bytes:
String #0: theme
String #1: label
String #2: name
String #3: debuggable
String #4: exported
String #5: targetPackage
String #6: handleProfiling
String #7: functionalTest
String #8: minSdkVersion
String #9: targetSdkVersion
String #10: compileSdkVersion
String #11: compileSdkVersionCodename
String #12: 13
String #13: Tests for com.mycompanyapp.app.qa
String #14: action
String #15: activity
String #16: android
String #17: android.intent.action.MAIN
String #18: android.permission.REORDER_TASKS
String #19: android.test.runner
String #20: androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity
String #21: androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity
String #22: androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity
String #23: androidx.test.orchestrator
String #24: androidx.test.runner.AndroidJUnitRunner
String #25: androidx.test.services
String #26: application
String #27: com.google.android.apps.common.testing.services
String #28: com.mycompanyapp.app.qa
String #29: com.mycompanyapp.app.qa.test
String #30: http://schemas.android.com/apk/res/android
String #31: instrumentation
String #32: intent-filter
String #33: manifest
String #34: package
String #35: platformBuildVersionCode
String #36: platformBuildVersionName
String #37: queries
String #38: uses-library
String #39: uses-permission
String #40: uses-sdk
16:16:31.526 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "rm -fr /data/local/tmp/detox"
16:16:31.562 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.564 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "mkdir -p /data/local/tmp/detox"
16:16:31.598 detox[6662] i child-process:EXEC_SUCCESS 
16:16:31.600 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 push "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk" "/data/local/tmp/detox/Application.apk"
16:16:32.650 detox[6662] i child-process:EXEC_SUCCESS /bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk: 1 file pushed, 0 skipped. 173.3 MB/s (172857256 bytes in 0.951s)
16:16:32.687 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk
16:16:35.002 detox[6662] i child-process:SPAWN_STDOUT Success
16:16:35.008 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk exited with code #0
16:16:35.010 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 push "/bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk" "/data/local/tmp/detox/Test.apk"
16:16:35.139 detox[6662] i child-process:EXEC_SUCCESS /bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk: 1 file pushed, 0 skipped. 135.4 MB/s (5667105 bytes in 0.040s)
16:16:35.172 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk
16:16:35.687 detox[6662] i child-process:SPAWN_STDOUT Success
16:16:35.699 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk exited with code #0
16:16:35.702 detox[6662] E device installApp
16:16:35.703 detox[6662] B device selectApp
args: ("default")
16:16:35.704 detox[6662] B device terminateApp
args: ()
16:16:35.705 detox[6662] B artifacts-manager onBeforeTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:35.706 detox[6662] E artifacts-manager onBeforeTerminateApp
16:16:35.706 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa"
16:16:35.915 detox[6662] i child-process:EXEC_SUCCESS 
16:16:35.918 detox[6662] B artifacts-manager onTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:35.919 detox[6662] E artifacts-manager onTerminateApp
16:16:35.919 detox[6662] E device terminateApp
16:16:35.919 detox[6662] E device selectApp
16:16:35.920 detox[6662] E lifecycle set up environment
16:16:43.292 detox[6662] B lifecycle run the tests
16:16:43.292 detox[6662] B artifacts-manager onRunDescribeStart
args: ({"name":"ROOT_DESCRIBE_BLOCK"})
16:16:43.293 detox[6662] E artifacts-manager onRunDescribeStart
16:16:43.295 detox[6662] B lifecycle TEST
16:16:43.295 detox[6662] B artifacts-manager onRunDescribeStart
args: ({"name":"TEST"})
16:16:43.295 detox[6662] E artifacts-manager onRunDescribeStart
16:16:43.298 detox[6662] B lifecycle DO NOTHING TEST
16:16:43.299 detox[6662] B artifacts-manager onTestStart
args: ({"title":"DO NOTHING TEST","fullName":"TEST DO NOTHING TEST","status":"running","invocations":1})
16:16:43.300 detox[6662] i artifact:ARTIFACT_START starting ADBLogcatRecording
16:16:43.347 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/161630301_0.log"
16:16:43.350 detox[6662] E artifacts-manager onTestStart
16:16:43.350 detox[6662] B lifecycle beforeEach
16:16:43.353 detox[6662] E lifecycle beforeEach
16:16:43.355 detox[6662] B lifecycle beforeEach
16:16:43.357 detox[6662] B device launchApp
args: ({"newInstance":true})
16:16:43.358 detox[6662] B device terminateApp
args: ("com.mycompanyapp.app.qa")
16:16:43.359 detox[6662] B artifacts-manager onBeforeTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:43.359 detox[6662] E artifacts-manager onBeforeTerminateApp
16:16:43.360 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa"
16:16:43.443 detox[6662] i child-process:EXEC_SUCCESS 
16:16:43.446 detox[6662] B artifacts-manager onTerminateApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"})
16:16:43.447 detox[6662] E artifacts-manager onTerminateApp
16:16:43.447 detox[6662] E device terminateApp
16:16:43.448 detox[6662] B artifacts-manager onBeforeLaunchApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa","launchArgs":{"detoxServer":"ws://localhost:36351","detoxSessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a"}})
16:16:43.449 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\""
16:16:43.540 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:16:42.000
16:16:43.543 detox[6662] E artifacts-manager onBeforeLaunchApp
16:16:43.544 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 reverse tcp:36351 tcp:36351
16:16:43.611 detox[6662] i child-process:EXEC_SUCCESS 36351
16:16:43.614 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list instrumentation"
16:16:43.666 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/161630301_0.log
16:16:43.735 detox[6662] i child-process:EXEC_SUCCESS instrumentation:com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner (target=com.mycompanyapp.app.qa)
16:16:43.787 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:36351 -e detoxSessionId fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a -e debug false com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner
16:16:43.790 detox[6662] i child-process:EXEC_SUCCESS 4	/sdcard/161630301_0.log
16:16:44.291 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "ps | grep \"com\.mycompanyapp\.app\.qa$\""
16:16:44.433 detox[6662] i child-process:EXEC_SUCCESS u0_a145       6868   323 14353484 99012 0                   0 R com.mycompanyapp.app.qa
16:16:44.437 detox[6662] B artifacts-manager onLaunchApp
args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa","launchArgs":{"detoxServer":"ws://localhost:36351","detoxSessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a"},"pid":6868})
16:16:44.438 detox[6662] i artifact:ARTIFACT_START starting ADBLogcatRecording
16:16:44.438 detox[6662] i artifact:ARTIFACT_STOP stopping ADBLogcatRecording
16:16:44.438 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\""
16:16:44.513 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:16:43.000
16:16:44.523 detox[6662] i child-process:SPAWN_KILL sending SIGINT to: /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell logcat -f /sdcard/161630301_0.log
16:16:44.527 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/161630301_0.log" terminated with SIGINT
16:16:44.574 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -T \"04-04 16:16:43.000\" --pid=6868 -f /sdcard/161630301_0.log"
16:16:44.576 detox[6662] E artifacts-manager onLaunchApp
16:16:44.876 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/161630301_0.log
16:16:44.940 detox[6662] i child-process:EXEC_SUCCESS 8180	/sdcard/161630301_0.log
16:16:45.649 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_STATUS: class=com.mycompanyapp.app.DetoxTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=
com.mycompanyapp.app.DetoxTest:
16:16:45.652 detox[6662] i child-process:SPAWN_STDOUT 
INSTRUMENTATION_STATUS: test=runDetoxTests
INSTRUMENTATION_STATUS_CODE: 1
16:17:30.703 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_STATUS: class=com.mycompanyapp.app.DetoxTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stack=java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)
INSTRUMENTATION_STATUS: stream=
Error in runDetoxTests(com.mycompanyapp.app.DetoxTest):
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)
INSTRUMENTATION_STATUS: test=runDetoxTests
INSTRUMENTATION_STATUS_CODE: -2
16:17:32.792 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_RESULT: stream=
Time: 46.644
There was 1 failure:
1) runDetoxTests(com.mycompanyapp.app.DetoxTest)
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at androidx.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:549)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:162)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
	at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:444)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2248)
FAILURES!!!
Tests run: 1,  Failures: 1
INSTRUMENTATION_CODE: -1
16:17:32.937 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:36351 -e detoxSessionId fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a -e debug false com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner exited with code #0
16:17:32.942 detox[6662] i device An error occurred while waiting for the app to become ready. Waiting for disconnection...
error: Failed to run application on the device

HINT: Most likely, your main activity has crashed prematurely.

Native stacktrace dump:
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)

16:17:32.942 detox[6662] i device The app disconnected.
16:17:32.943 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 reverse --remove tcp:36351
16:17:32.999 detox[6662] E device launchApp
error: Failed to run application on the device

HINT: Most likely, your main activity has crashed prematurely.

Native stacktrace dump:
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)

16:17:33.001 detox[6662] B artifacts-manager onHookFailure
args: ({"error":{"name":"DetoxRuntimeError"},"hook":"beforeEach"})
16:17:33.001 detox[6662] E artifacts-manager onHookFailure
16:17:33.001 detox[6662] E lifecycle beforeEach
error: Failed to run application on the device

HINT: Most likely, your main activity has crashed prematurely.

Native stacktrace dump:
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
	at com.wix.detox.Detox.runTests(Detox.java:140)
	at com.wix.detox.Detox.runTests(Detox.java:103)
	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)

16:17:33.003 detox[6662] B lifecycle test_fn
16:17:33.006 detox[6662] B artifacts-manager onTestDone
args: ({"title":"DO NOTHING TEST","fullName":"TEST DO NOTHING TEST","status":"failed","invocations":1,"timedOut":false})
16:17:33.007 detox[6662] i artifact:ARTIFACT_STOP stopping ADBLogcatRecording
16:17:33.007 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\""
16:17:33.052 detox[6662] i child-process:EXEC_SUCCESS 
16:17:33.082 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:17:32.000
16:17:33.086 detox[6662] i child-process:SPAWN_KILL sending SIGINT to: /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell logcat -T "04-04 16:16:43.000" --pid=6868 -f /sdcard/161630301_0.log
16:17:33.090 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -T \"04-04 16:16:43.000\" --pid=6868 -f /sdcard/161630301_0.log" terminated with SIGINT
16:17:33.094 detox[6662] E artifacts-manager onTestDone
16:17:33.095 detox[6662] E lifecycle test_fn
16:17:33.099 detox[6662] B artifacts-manager onRunDescribeFinish
args: ({"name":"TEST"})
16:17:33.099 detox[6662] E artifacts-manager onRunDescribeFinish
16:17:33.099 detox[6662] E lifecycle DO NOTHING TEST
16:17:33.100 detox[6662] B artifacts-manager onRunDescribeFinish
args: ({"name":"ROOT_DESCRIBE_BLOCK"})
16:17:33.101 detox[6662] E artifacts-manager onRunDescribeFinish
16:17:33.101 detox[6662] E lifecycle TEST
16:17:33.117 detox[6662] B lifecycle tear down environment
16:17:33.119 detox[6662] B artifacts-manager onBeforeCleanup
args: ()
16:17:33.123 detox[6662] i artifact:ARTIFACT_SAVE saving ADBLogcatRecording to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/✗ TEST DO NOTHING TEST/device.log
16:17:33.124 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 pull "/sdcard/161630301_0.log" "/bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/✗ TEST DO NOTHING TEST/device.log"
16:17:33.231 detox[6662] i child-process:EXEC_SUCCESS /sdcard/161630301_0.log: 1 file pulled, 0 skipped. 129.9 MB/s (8478619 bytes in 0.062s)
16:17:33.233 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "rm  \"/sdcard/161630301_0.log\""
16:17:33.316 detox[6662] i child-process:EXEC_SUCCESS 
16:17:33.329 detox[6662] i artifact:ARTIFACT_SAVE saving FileArtifact to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/detox_pid_6662.json.log { append: true }
16:17:33.331 detox[6662] i artifact:ARTIFACT_SAVE saving FileArtifact to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/detox_pid_6662.log { append: true }
16:17:33.331 detox[6662] E artifacts-manager onBeforeCleanup
16:17:33.332 detox[6662] i ws-client:APP_UNREACHABLE Detox can't seem to connect to the test app(s)!
HINT: 
The test app might have crashed prematurely, or has had trouble setting up the connection.
Refer to our troubleshooting guide, for full details: https://wix.github.io/Detox/docs/troubleshooting/running-tests#tests-execution-hangs 
16:17:33.340 detox[6650] i ws-server tester exited session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a
16:17:33.341 detox[6650] E ws-server@37866 connection :36351<->:37866
16:17:33.340 detox[6662] B device free
args: ({"adbName":"emulator-5554"}, {"shutdown":false})
16:17:33.350 detox[6662] E device free
16:17:33.351 detox[6662] E lifecycle tear down environment
16:17:33.351 detox[6662] E lifecycle run the tests
FAIL e2e/Regression/test.e2e.ts (63.13 s)
TEST
  ✕ DO NOTHING TEST (49707 ms)
● TEST › DO NOTHING TEST
  Failed to run application on the device
  HINT: Most likely, your main activity has crashed prematurely.
  Native stacktrace dump:
  java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue.
  	at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509)
  	at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376)
  	at com.wix.detox.Detox.runTests(Detox.java:140)
  	at com.wix.detox.Detox.runTests(Detox.java:103)
  	at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)
    4 | describe('TEST', () => {
    5 |   beforeEach(async () => {
  > 6 |     await device.launchApp({ newInstance: true });
      |                  ^
    7 |     await verifyText('Sign In', 60000);
    8 |   });
    9 |
    at Object.<anonymous> (e2e/Regression/test.e2e.ts:6:18)
16:17:33.364 detox[6662] i ipc dispatching event to  primary-6650 /tmp/detox.primary-6650  :  reportTestResults , {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    testExecError: undefined,
    isPermanentFailure: false
  }
]
}
16:17:33.366 detox[6650] i ipc received event of :  reportTestResults {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    isPermanentFailure: false
  }
]
}
16:17:33.367 detox[6650] i ipc dispatching event to socket  :  reportTestResultsDone {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    isPermanentFailure: false
  }
]
}
16:17:33.367 detox[6650] i ipc broadcasting event to all known sockets listening to  /tmp/detox.primary-6650  :   sessionStateUpdate {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    isPermanentFailure: false
  }
]
}
16:17:33.368 detox[6662] i ipc ## received events ##
16:17:33.371 detox[6662] i ipc detected event reportTestResultsDone {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    isPermanentFailure: false
  }
]
}
16:17:33.390 detox[6662] i ipc ## received events ##
16:17:33.392 detox[6662] i ipc detected event sessionStateUpdate {
testResults: [
  {
    success: false,
    testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts',
    isPermanentFailure: false
  }
]
}
16:17:33.400 detox[6650] i ipc socket disconnected secondary-6662
16:17:33.403 detox[6662] i ipc connection closed primary-6650 /tmp/detox.primary-6650 0 tries remaining of 0
16:17:33.406 detox[6662] i ipc secondary-6662 exceeded connection rety amount of  or stopRetrying flag set.
16:17:33.567 detox[6650] E lifecycle Command failed with exit code = 1:
jest --config e2e/jest.config.ts --detectOpenHandles e2e/Regression/test.e2e.ts
16:17:33.569 detox[6650] i ws-server Detox server has been closed gracefully
16:17:33.570 detox[6650] E lifecycle node_modules/.bin/detox test --configuration android.emu.Pixel4.android_12.qa.debug -d -l log.txt --configuration android.emu.generic e2e/Regression/test.e2e.ts --start --record-logs all --loglevel trace --detectOpenHandles --debug-synchronization 500 --artifacts-location /bitrise/deploy
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
exit status 1

It seems like the issue may relate to some kind of 45000 ms timeout in the code.

I see this in node_modules/detox/src/devices/common/drivers/android/exec/ADB.js:

const INSTALL_TIMEOUT = 45000; // TODO Double check 45s makes sense

So it seems like there was some debate about whether this is right.

I used patch-package to change this to 300000 and it still times out, claiming the 45000 timeout!!

The patch:

diff --git a/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js b/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js
index cd92a6c..1be2cc2 100644
--- a/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js
+++ b/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js
@@ -8,7 +8,7 @@ const { escape } = require('../../../../../utils/pipeCommands');
 const DeviceHandle = require('../tools/DeviceHandle');
 const EmulatorHandle = require('../tools/EmulatorHandle');
 
-const INSTALL_TIMEOUT = 45000; // TODO Double check 45s makes sense
+const INSTALL_TIMEOUT = 300000; // TODO Double check 45s makes sense
 
 class ADB {
   constructor() {

owens-ben avatar Apr 04 '23 16:04 owens-ben

@owens-ben & @alyssaw90. I've previously had some similar issues with a different provider. Wrapping the launch app command in a retry util seemed to help, but might not in your case.

MuckT avatar Apr 21 '23 18:04 MuckT

@noomorph Any solution for this issue?

akashGautam7009 avatar May 03 '23 13:05 akashGautam7009

@owens-ben did you get unblocked now?

akashGautam7009 avatar May 03 '23 13:05 akashGautam7009

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe the issue is still relevant, please test on the latest Detox and report back.

Thank you for your contributions!

For more information on bots in this repository, read this discussion.

stale[bot] avatar Jun 10 '23 11:06 stale[bot]

The issue has been closed for inactivity.

stale[bot] avatar Jun 17 '23 20:06 stale[bot]

Still an issue.

owens-ben avatar Sep 11 '23 18:09 owens-ben

Could you share device logs and video recording from your device? Just to make sure, the app runs locally on emulators well enough, right?

noomorph avatar Sep 12 '23 05:09 noomorph

@noomorph yes, it works on android emulators as well as iOS emulators (including in bitrise).

There essentially are no logs beyond what's been shared. And we can't share a video as the Linux machines do not support vnc.

owens-ben avatar Sep 21 '23 19:09 owens-ben

Hey @owens-ben , I also encountered this issue and it took me much time, finally I found it's because of the adb communication is very slow, which caused the apk can't be installed on the emulator. I executed the following commands to restart the adb server and the issue went away.

adb kill-server
adb start-server

Maybe it's also appropriate for your and other's situation. Good luck. :)

zhouzh1 avatar Sep 22 '23 09:09 zhouzh1

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe the issue is still relevant, please test on the latest Detox and report back.

Thank you for your contributions!

For more information on bots in this repository, read this discussion.

stale[bot] avatar Dec 15 '23 05:12 stale[bot]