领导突然给我安排解决cts,我也很慌张。之前从来没有搞过,时间还很紧急在两个星期之内搞定。高不忘通宵。慌的一批。
1.刚开始跑就出现跑死机的问题
抓log看出问题对应的size,在底层进行屏蔽然后就可以跑起来了,这样就不会delay其他测试。问题也提了case找高通跟进。
2.junit.framework.AssertionFailedError: Video size xxx x xxx for profile ID x must be one of the camera device supported video size
在profile的那个xml删除掉对应的size。这个需要对比sensor支持的最大尺寸,如果配置的尺寸大于sensor的输出尺寸的话就会出问题。
3.排除一下是底层加的算法导致测试项不过。把加的node去掉
4.junit.framework.AssertionFailedError: Number of cameras changed from 2 to 0 这样的错肯定是有crash,需要抓log看是什么原因
5.SystemFeatureTest#testCameraFeaures failed
frameworks/native/data/etc/android.hardware.camera.xml
注释掉//<feature name="android.hardware.camea"/>
6.CtsMediaPerformanceClassTestCases Failed
frameworks/base/data/etc/privapp-permissions-platform.xml
<privapp-permissions package="android.mediapc.cts">
</privapp-permissions>
7.android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics[1] java.lang.Exception: Primary front camera resolution should be at least 5000000 pixels, is 4013632
这是前置的一个分辨率检查报错。解决方案是
vendor/qcom/proprietary/qcv-utils/libsoc-helper/init.qti.qcv.rc
remove below line:
setprop ro.odm.build.media_performance_class ${ro.vendor.media_performance_class}"
这是高通提供的解决方案
这个文件在手机里面是有的,不需要编译,直接吧手机里面的文件拉出来修改就可以了
path:/vendor/etc/init/init.qti.qcv.rc
8.android.hardware.camera2.cts.ZoomCaptureTest#testRawZoomCapture
我通过查看对应的源码,发现这个会先检查对应的版本和这个对应的meta是不是支持的,要两个条件满足才会走到对应的逻辑里面
最后对比是发现升级测试包,增加了测试项以及升级Android版本跟底层的高通基线不匹配,所以才导致出现了fail项。
把这个注释掉之后就不支持这个meta,其他的地方也没有进行使用最后pass了
我后面遇到其他的问题的话我会持续更新的,感觉解决这个主要就是靠遇见之后的慢慢积累的一个过程。