在最近的Android 11项目中用R5 的CTS工具测试发现CtsWindowManagerDeviceTestCases 有很多错误,前面几项测试失败了后面都不跑了。 解决思路:
- 首先使用命令
run cts -m CtsWindowManagerDeviceTestCases -t android.server.wm.KeyguardLockedTests#testShowWhenLockedImeActivityAndShowSoftInput 跑单项的时候抓下log - 报告上面fail 的原因写的是:
Test failed to run to completion. Reason: 'Instrumentation run failed due to 'Process crashed.''. Check device logcat for details 说明这个测试项进程挂了导致的fail - log上可以看到ShowImeAfterLockscreenActivity 生命周期 on stop之后 就被AMS kill 了,巧了
ActivityTaskManager: procsToKill=[ProcessRecord{4e6f6f0 20764:android.server.wm.cts/u0a211}] 这里是我加的打印,之前修改最近任务中清除全部进程有的进程没有杀掉 改的,这里有点不祥的预感。试着把这个修改去掉,重新测试发现这个测试竟然过了,跑一下整个模块,100多fail项全过。。。。。。。。。。。。。。。。 - 这个测试失败是因为我的修改导致的cts测试进程被杀了,有点无语,看来过GMS的,涉及系统核心服务的是不能随便改的。
|