android 5.1 6.0 测试命令:
run cts --package android.camera
android 7.0测试命令:
run cts -m android.camera
更改kernel-3.18下面的文件
kernel-3.18\drivers\misc\mediatek\imgsensor\src\mt6580\
hal 文件地址:
vendor\mediatek\proprietary\custom\mt6580\hal\sendepfeature\
其他原则(这个为最先看的):
1 最大的Picture Size的宽和高需要大于所有的Preview Size的相应宽和高;
2 Preview Size中必须包含至少一个Video Size值,否则mediaserver初始化会失败;
3 Picture Size请按照16对齐来添加: 1920x1080这种近似16对齐的size在cts 6.0 R2也可以了; 除16得整
4 Preview Size最大请不要超过1080P; =1920.1080
5 最大的Picture Size和最大Preview Size请用同样的ratio.
6."640x480", 30w的最低配置
能解决“java.lang.illegalArgumentException”的问题
摄像头:Sub camera (前置摄像头)gc0310 30w
Main camera (主摄像头)gc2355 200w === camera 0主摄像头(后摄)
话不多说下面我来几个常见的Fail:
--testBasicRecording
1.此处,Preview Size的最大值不同,需要添加的Preview Size项可能不同。Google在此处的行为有点稍显奇怪. 最好把Video Size中所有可能支持的Preview Size都加进来。
2.遇到的error项:Frame rate range [20,20]
这里是加在
#if 1
// Preview Frame Rate Range
FTABLE_CONFIG_AS_TYPE_OF_USER(
KEY_AS_(MtkCameraParameters::KEY_PREVIEW_FPS_RANGE),
SCENE_AS_DEFAULT_SCENE(
ITEM_AS_DEFAULT_("30000,30000"),
ITEM_AS_USER_LIST_(
"(15000,15000)",
"(20000,20000)",//trz add
"(24000,24000)",
"(30000,30000)",
)
),
)
#endif
--testAllocationFromCameraFlexibleYuv
log:
Legacy-CameraDevice-JNI: produceFrame: Dimens 1872 x 1123 are not divisible by 2.
原因:配置的preview size不能被2整除
solution:修改preview size,宽,高都不能为奇数
log:
AndroidRuntime: java.lang.IllegalArgumentException: previewSize must not be wider than activeArray
原因:配置的picture size最大值小于preview size最大值
solution:重新配置picture size和preview size,保证picture size最大值不小于preview size最大值
--testCameraDevicePreviewTemplate
log:
Test failed for camera 1: Test failed for camera 1: Key android.control.aeAntibandingMode value 3 isn't one of the expected values [1, 2] Expected: in(<[1, 2]>)
log:
java.lang.Exception: Test failed for camera 1: Test failed for camera 1: Key android.control.afMode value 1 doesn't match the expected value 4 Expected: <4>
原因:如果摄像头不支援对焦。需要配置focus mode为fixed,并且max-num-focus-areas需要为0.
Solution:
1)参考FAQ13421配置focus mode为fixed
// Anti-banding (Flicker)
FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_VALUES(
KEY_AS_(MtkCameraParameters::KEY_ANTIBANDING),
SCENE_AS_DEFAULT_SCENE(
ITEM_AS_DEFAULT_(MtkCameraParameters::ANTIBANDING_OFF),
ITEM_AS_VALUES_(
MtkCameraParameters::ANTIBANDING_OFF,
MtkCameraParameters::ANTIBANDING_50HZ,
MtkCameraParameters::ANTIBANDING_60HZ,
MtkCameraParameters::ANTIBANDING_AUTO,//trz add
)
),
)
2)projectconfig.mk中配置为dummy lens。
3)af_mgr.cpp文件中,getAFMaxNum()方法中的if(m_i4EnableAF==-1)注释
android.hardware.camera2.cts.CameraManagerTest
--testAeModeAndLock
--testFlashControl