Android设备锁屏时运行两个SystemUI实例导致CTS测试失败的问题咨询
大家好,我遇到了一个CTS测试相关的问题,想请教下各位开发者:
设备启动完成后,我通过shell命令查看进程状态,发现系统里同时运行着两个com.android.systemui实例,分别归属user 0和user 10:
console:/ # ps -A | grep systemui u10_a98 3747 515 15378516 171208 do_epoll_wait 0 S com.android.systemui u0_a98 3785 515 17045700 268856 do_epoll_wait 0 S com.android.systemui
之后我运行了一条指定的CTS测试用例:
run cts --abi arm64-v8a -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppDataIsolationTests#testDirectBootModeWorks
结果测试直接失败了,具体的错误日志如下:
05-09 13:01:48.187 1010129 2487 2505 E TestRunner: failed: testAppAUnlockDeviceAndVerifyCeDeExternalDataExist(com.android.cts.appdataisolation.appa.AppATests)
05-09 13:01:48.187 1010129 2487 2505 E TestRunner: ----- begin exception -----
05-09 13:01:48.190 1010129 2487 2505 E TestRunner: java.lang.AssertionError: User not unlocked
05-09 13:01:48.190 1010129 2487 2505 E TestRunner: at org.junit.Assert.fail(Assert.java:89)
05-09 13:01:48.190 1010129 2487 2505 E TestRunner: at org.junit.Assert.assertTrue(Assert.java:42)
05-09 13:01:48.190 1010129 2487 2505 E TestRunner: at com.android.cts.appdataisolation.appa.AppATests.testAppAUnlockDeviceAndVerifyCeDeExternalDataExist(AppATests.java:275)
05-09 13:01:48.190 1010129 2487 2505 E TestRunner: at java.lang.reflect.Method.invoke(Native Method)
我猜测这两个分属不同用户的SystemUI实例,可能和测试失败的断言错误(用户未解锁)有关。想问问有没有朋友遇到过类似的情况?或者能给我一些排查方向:比如为什么设备会同时启动两个用户的SystemUI?这种情况会不会干扰Direct Boot模式下的用户解锁状态判断?
内容来源于stack exchange

