Skip to content
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

Android tests fail to start on Bitrise #3978

Open
1 of 2 tasks
owens-ben opened this issue Mar 14, 2023 · 21 comments
Open
1 of 2 tasks

Android tests fail to start on Bitrise #3978

owens-ben opened this issue Mar 14, 2023 · 21 comments

Comments

@owens-ben
Copy link

owens-ben commented Mar 14, 2023

What happened?

After going through much debugging with Bitrise support we believe there is some kind of issue with the launchApp() function. It's either timing out or just not running at all.

https://support.bitrise.io/hc/en-us/requests/36123

I ran a "dummy" test with no app launch and that seems to run fine.

Here is the stack dump from when this happens.

Detox v 20.5.0

+------------------------------------------------------------------------------+
| id: script                                                                   |
| version: 1.1.5                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2023-03-13T16:30:23Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
+ export APP_MODE=mocked
+ APP_MODE=mocked
+ detox test --configuration android.emu.generic e2e/Regression/helpCenter.e2e.ts --start --record-logs all --loglevel debug --detectOpenHandles --debug-synchronization 5000
16:30:28.636 detox[7923] i ws-server Detox server listening on localhost:34693...
16:30:28.654 detox[7923] B lifecycle jest --config e2e/jest.config.ts --detectOpenHandles e2e/Regression/helpCenter.e2e.ts
16:30:33.037 detox[7923] B ws-server connection :34693<->:56970
16:30:33.198 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -list-avds --verbose
16:30:33.257 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -version 
16:30:33.589 detox[7935] i device Detected emulator binary version { major: 31, minor: 3, patch: 14, toString: [Function: toString] }
16:30:33.591 detox[7935] i device:ALLOCATE_DEVICE Trying to allocate a device based on "emulator"
16:30:33.594 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb"  devices
16:30:33.619 detox[7935] i child-process:EXEC_SUCCESS List of devices attached
emulator-5554	device
16:30:33.642 detox[7935] i device:DEVICE_LOOKUP Found a matching & free device emulator-5554
16:30:33.646 detox[7935] i device:ALLOCATE_DEVICE Settled on emulator-5554
16:30:33.647 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop dev.bootcomplete"
16:30:33.688 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop ro.build.version.sdk"
16:30:33.720 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global animator_duration_scale 0"
16:30:33.763 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global window_animation_scale 0"
16:30:33.804 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global transition_animation_scale 0"
16:30:33.849 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "dumpsys power | grep \"^[ ]*m[UW].*=\""
16:30:33.958 detox[7935] 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:30:33.997 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.myapp.app.qa"
16:30:34.041 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 uninstall com.myapp.app.qa
16:30:34.236 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.myapp.app.qa.test"
16:30:34.305 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.myapp.app.qa"
16:30:34.358 detox[7935] 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:30:34.384 detox[7935] 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:30:34.409 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "rm -fr /data/local/tmp/detox"
16:30:34.456 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "mkdir -p /data/local/tmp/detox"
16:30:34.503 detox[7935] 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:30:35.475 detox[7935] 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:30:37.181 detox[7935] 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:30:37.184 detox[7935] 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:30:37.275 detox[7935] 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:30:37.458 detox[7935] 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:30:37.461 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.myapp.app.qa"
16:30:44.214 detox[7935] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/163033184_0.log"
16:30:44.230 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.myapp.app.qa"
16:30:44.307 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\""
16:30:44.380 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 reverse tcp:34693 tcp:34693
16:30:44.423 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list instrumentation"
16:30:44.535 detox[7935] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:34693 -e detoxSessionId 252b5613-e558-e969-b82e-4ba84d4ddd60 -e debug false com.myapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner
16:30:44.540 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/163033184_0.log
16:30:45.041 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "ps | grep \"com\.myapp\.app\.qa$\""
16:30:46.314 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\""
16:30:46.402 detox[7935] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/163033184_0.log" terminated with SIGINT
16:30:46.439 detox[7935] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -T \"03-13 16:30:45.000\" --pid=6834 -f /sdcard/163033184_0.log"
16:30:46.741 detox[7935] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/163033184_0.log
16:31:32.595 detox[7935] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:34693 -e detoxSessionId 252b5613-e558-e969-b82e-4ba84d4ddd60 -e debug false com.myapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner exited with code #0
16:31:32.597 detox[7935] 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.myapp.app.qa/com.myapp.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 1678725046008 and now the last time the queue went idle was: 1678725046201. 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.myapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34)

What was the expected behaviour?

No response

Was it tested on latest Detox?

  • I have tested this issue on the latest Detox release and it still reproduces.

Did your test throw out a timeout?

Help us reproduce this issue!

No response

In what environment did this happen?

Detox version: 20.5.0
React Native version: 0.70.6
Has Fabric (React Native's new rendering system) enabled: (yes/no)
Node version:
Device model:
Android version: 31
Test-runner (select one): jest

Detox logs

Detox logs
paste logs here!

Device logs

Device logs
paste your device.log here!

More data, please!

No response

@owens-ben
Copy link
Author

Bump?

@owens-ben
Copy link
Author

owens-ben commented Apr 4, 2023

TRACE level log dump
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!!

@stale
Copy link

stale bot commented May 8, 2023

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 stale bot added 🏚 stale and removed 🏚 stale labels May 8, 2023
@d4vidi
Copy link
Collaborator

d4vidi commented May 14, 2023

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 installation appears to be successful, so this timeout is irrelevant. You might be able to extend it via a native Detox config but I think 45seconds is way more than enough.

Important question: Does this usuually work on your local computer?
In any case, you might like to review device (native) logs (i.e. using adb logcat) in order to look up an error that might have crashed your app or something along those lines.

@stale
Copy link

stale bot commented Jun 15, 2023

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 stale bot added the 🏚 stale label Jun 15, 2023
@owens-ben
Copy link
Author

@d4vidi yes, it works locally. Since then I was able to configure it to run with iOS on an M1 machine. I will be returning to this issue shortly as we still have the need for Android tests.

@stale stale bot removed the 🏚 stale label Jun 22, 2023
@owens-ben
Copy link
Author

Here's what I tried to debug:

sshing into the bitrise machine and running the command manually - same result

I was able to dump the logcat logs but its so long and full of errors that may or may not be relevant. please advise how to proceed.

@d4vidi
Copy link
Collaborator

d4vidi commented Jun 29, 2023

Consider installing pidcat on the bitrise machine and then - instead of adb logcat, run pidcat <package name>. This should help cut through the irrelevant noise in the log.
Alternatively, use detox test <...> --record-logs all and dig up the device.log file from artifacts once the run is completed.

@owens-ben
Copy link
Author

owens-ben commented Jul 6, 2023

@d4vidi thanks for the advice.

I was able to get the full device log, if you want to take a look.

device.log

I see lots of errors so not sure which one might actually be making the app hang, perhaps this one?

07-06 15:32:27.342 6354 6499 I AppLinksHostsVerifierV2: Verification com.myorg.app.qa complete. Successful hosts: links-qa.myotherorg.com,qa-web.myotherorg.com. Failed hosts: *.myotherorg.com. Error hosts: . [CONTEXT service_id=244 ]

@stale
Copy link

stale bot commented Aug 7, 2023

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 stale bot added the 🏚 stale label Aug 7, 2023
@stale
Copy link

stale bot commented Sep 17, 2023

The issue has been closed for inactivity.

@stale stale bot closed this as completed Sep 17, 2023
@owens-ben
Copy link
Author

Still an issue.

@owens-ben
Copy link
Author

owens-ben commented Oct 23, 2023

Still an issue. I revisited this and tried a couple suggestions from around the internet.

I tried starting the Metro bundler in a separate command yarn start & (this seemed to solve other issues). I also stopped and started the adb server before initiating the tests.

I'm now seeing this generic JS looper error being output.

20:50:41.839 detox[7027] i ws-server@55587 send
  data: {
    "type": "currentStatus",
    "params": {},
    "messageId": 1
  }
20:50:46.839 detox[7053] i ws-client:APP_STATUS Failed to execute the current status query.
 BUNDLE  ./index.js 
20:51:38.143 detox[7027] i ws-server@55587 get
  data: {"messageId":1,"type":"currentStatusResult","params":{"status":{"app_status":"busy","busy_resources":[{"name":"looper","description":{"thread":"\"LooperIdlingResource-168-mqt_js\" (JS Thread)","execution_type":"JavaScript code"}},{"name":"looper","description":{"thread":"\"LooperIdlingResource-169-mqt_native_modules\" (Native Modules Thread)","execution_type":"native module calls"}}]}}}
20:51:38.143 detox[7027] i ws-server@34886 send
  data: {
    "messageId": 1,
    "type": "currentStatusResult",
    "params": {
      "status": {
        "app_status": "busy",
        "busy_resources": [
          {
            "name": "looper",
            "description": {
              "thread": "\"LooperIdlingResource-168-mqt_js\" (JS Thread)",
              "execution_type": "JavaScript code"
            }
          },
          {
            "name": "looper",
            "description": {
              "thread": "\"LooperIdlingResource-169-mqt_native_modules\" (Native Modules Thread)",
              "execution_type": "native module calls"
            }
          }
        ]
      }
    }
  }

Could a moderator please reopen this issue?

@noomorph noomorph reopened this Oct 23, 2023
@stale stale bot removed the 🏚 stale label Oct 23, 2023
@owens-ben
Copy link
Author

@noomorph thanks!

@noomorph
Copy link
Collaborator

Thank you for your understanding. Due to ongoing wars in our countries, our current bandwidth is limited. Typically, investigations like yours require several dedicated days, and the timeframe can extend if complex issues arise. My tasks are scheduled based on the priorities set by my company, so I can't promise I can look at it in the near future.

Overall, I understand the frustrations with issues like this. We're all looking forward to a resolution, but until we or someone else has time to get this done, such investigations will be held manually.

So, were I to have more resources, I'd go all in on obtaining that profiler recording, be it through Flipper or some native Android profiling method. It seems to be the most direct approach to addressing this concern. 🤷‍♂️ Get to know which function is running in your flamechart, and you know the culprit.

@owens-ben
Copy link
Author

@noomorph understandable and I hope you and your colleagues are safe.

I have tried the Android profiler method running my local dev env, however the issue only reproduces in CI on Linux machines. Our team only uses macos machines so we are limited in our ability to reproduce and debug it.

I am open to creative solutions on how to debug this. I've considered spinning up a separate Ubuntu machine in AWS just to see if there are any fundamental issues with running our app on the AMD architecture.

Any and all ideas welcome :)

@noomorph
Copy link
Collaborator

@owens-ben if you are really open to any suggestions, maybe you could try to spin up flipper-server - first locally, then on CI?

https://www.npmjs.com/package/flipper-server

I hate to admit that this seems to be a rarely used experimental package, but if I get their idea right, it can serve a full-fledged Flipper UI via a browser. If this works, and it has no easy way to start recording via http request, maybe you could click on some buttons via puppeter (sounds bananas but might be viable).

Could you check that please?

@owens-ben
Copy link
Author

owens-ben commented Oct 30, 2023

One of my more senior teammates was able to help with this and get it running on a concept level. We will be compiling our findings. If there are any suggestions for anyone that runs into this problem we will share them here.

@noomorph
Copy link
Collaborator

@owens-ben, if your teammates eventually will be okay with releasing the source code of that "concept level", we'd highly appreciate this input. 🙏 I plan to work very seriously around the artifacts subsystem in Detox in Q4'23-Q1'24, and any viable POC can accelerate the appearance of generic Flipper artifact recording in Detox.

Copy link

stale bot commented Dec 15, 2023

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 stale bot added the 🏚 stale label Dec 15, 2023
@cleberada
Copy link

@noomorph I hope you are well. Do you have any news about this fix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants