安卓 E/AndroidRuntime(2671):java。lang.RuntimeException:设置参数失败
我正在为HTC Doubleshot开发一个ROM,我的相机遇到了一些问题(它强制关闭)。尤其是库存摄像头,以及大多数第三方摄像头(UCam Ultra camera没有)
我对情况有几点了解(乐趣从最新一篇文章的696行开始),我很困惑到底发生了什么。其他摄像头,比如谷歌摄像头,也有同样的结果
我的ROM是CarbonROM 4.4.4的一个版本,一个开发者在构建Cyanogenmod 11时成功地完成了这项工作。所以我的清单被分为我的github(joelmaxuel)和他的(EmmanuelU,Kitkats):
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DS"
fetch="git://github.com/KitKatDS/"/>
<remote name="emmanuel"
fetch="git://github.com/EmmanuelU/"/>
<remote name="joelmaxuel"
fetch="git://github.com/joelmaxuel/"/>
<remote name="githubby"
fetch="git://github.com/"/>
<project path="buildbot" name="James_Buildbot" revision="master" remote="emmanuel">
<copyfile src="James" dest="James" />
</project>
<project name="安卓_device_htc_common" path="device/htc/common" revision="gingerbread" remote="DS" />
<project path="device/htc/doubleshot" name="安卓_device_htc_doubleshot" remote="joelmaxuel" revision="kk" />
<project path="device/htc/msm8660-common" name="安卓_device_htc_msm8660-common" remote="joelmaxuel" revision="kk" />
<project path="vendor/htc/doubleshot" name="安卓_vendor_htc_doubleshot" remote="joelmaxuel" revision="kk" />
<project path="kernel/htc/doubleshot" name="wild_kernel_htc_msm8660" remote="emmanuel" revision="安卓-msm-doubleshot-3.0-ion" />
<remove-project name="CyanogenMod/安卓_hardware_libhardware_legacy" />
<remove-project name="CarbonDev/安卓_frameworks_av" />
<remove-project name="CarbonDev/安卓_frameworks_native" />
<remove-project name="CarbonDev/安卓_packages_apps_Camera2" />
<project name="安卓_hardware_libhardware_legacy" path="hardware/libhardware_legacy" revision="cm-11.0" remote="DS" />
<project name="安卓_hardware_qcom_media-legacy" path="hardware/qcom/media-legacy" revision="cm-11.0-ion" remote="DS" />
<project name="安卓_hardware_qcom_display-legacy" path="hardware/qcom/display-legacy" revision="cm-11.0-ion" remote="DS" />
<project name="安卓_frameworks_av" path="frameworks/av" revision="cm-11.0" remote="DS" />
<project name="安卓_packages_apps_Camera2" path="packages/apps/Camera2" revision="cm-11.0" remote="DS" />
<project name="安卓_frameworks_native" path="frameworks/native" revision="kk" remote="joelmaxuel" />
</manifest>
我确定这是我的共同点。mk:
# Camera
BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true
COMMON_GLOBAL_CFLAGS += -DICS_CAMERA_BLOB -DNO_UPDATE_PREVIEW -DQCOM_BSP_CAMERA_ABI_HACK
BOARD_USES_QCOM_LEGACY_CAM_PARAMS的代码将添加适当的CFLAG(我检查了框架的av代码,文件camera/Android.mk):
ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
LOCAL_CFLAGS += -DQCOM_HARDWARE
endif
ifeq ($(BOARD_USES_QCOM_LEGACY_CAM_PARAMS),true)
LOCAL_CFLAGS += -DQCOM_LEGACY_CAM_PARAMS
endif
我不知道下一步该查什么。有什么建议吗
# 1 楼答案
该设备的摄像头实现认为您传递的设置值无效
在所有其他摄像头记录之间,很难看出真正的抱怨,但它在日志中:
E/QualcommCameraHardwareZSL(171):聚焦模式值无效:连续图片 E/QualcommCameraHardwareZSL(171):虚拟android::status_t android::QualcommCameraHardware::setParameters(const android::CameraParameters&;):6487,rc=-22
如果支持的AF模式列表中未定义连续图片,则应用程序尝试设置连续图片是无效的。如果列出了它,那么相机实现错误地拒绝了它