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倾贰,寬冕碟,高都不能為奇數(shù)
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