在最近的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的,涉及系统核心服务的是不能随便改的。
    在这里插入图片描述
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐