Open
Description
What happened?
If Samsung Secure Folder is enabled, a new user with id 150
is created, which makes certain adb
invocations fail.
What was the expected behaviour?
Detox should use the default user ID of 0
when running ADB commands.
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?
- I have followed the instructions under Identifying which synchronization mechanism causes us to wait too much.
Help us reproduce this issue!
- Enable Samsung Secure Folder
- Attempt to run Detox Android attached tests
In what environment did this happen?
Detox version: 20.18.4
React Native version: 0.73.4
Has Fabric (React Native's new rendering system) enabled: (yes/no) N/A
Node version: v21.6.1
Device model: Samsung Galaxy Z Fold5
Android version: 14
Test-runner (select one): jest
Detox logs
Detox logs
FAIL e2e/initial-launch-screen.test.js
● Test suite failed to run
ChildProcessError: Command failed: "D:\Android\Sdk\platform-tools\adb.EXE" -s DEVIDHERE shell "pm list packages app.package.name"
Exception occurred while executing 'list':
java.lang.SecurityException: Shell does not have permission to access user 150
com.android.server.am.ActivityManagerService.handleIncomingUser:15882 android.app.ActivityManager.handleIncomingUser:5133 com.android.server.pm.PackageManagerShellCommand.translateUserId:3733
at com.android.server.am.UserController.handleIncomingUser(UserController.java:2892)
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:15882)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:5133)
at com.android.server.pm.PackageManagerShellCommand.translateUserId(PackageManagerShellCommand.java:3733)
at com.android.server.pm.PackageManagerShellCommand.runListPackages(PackageManagerShellCommand.java:1074)
at com.android.server.pm.PackageManagerShellCommand.runListPackages(PackageManagerShellCommand.java:960)
at com.android.server.pm.PackageManagerShellCommand.runList(PackageManagerShellCommand.java:800)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:237)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:7088)
at android.os.Binder.shellCommand(Binder.java:1104)
at android.os.Binder.onTransact(Binder.java:914)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4905)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:7072)
at android.os.Binder.execTransactInternal(Binder.java:1380)
at android.os.Binder.execTransact(Binder.java:1311)
`"D:\Android\Sdk\platform-tools\adb.EXE" -s DEVIDHERE shell "pm list packages app.package.name"` (exited with error code 255)
at callback (node_modules/child-process-promise/lib/index.js:33:27)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.723 s
Ran all test suites.
18:54:00.569 detox[1536] E Command failed with exit code = 1:
jest --config e2e/jest.config.js
Device logs
Device logs
N/A
More data, please!
Also see: