E / AndroidRuntime(2671):java.lang.RuntimeException:setParameters失败

时间:2015-04-16 01:56:54

标签: java android camera logcat cyanogenmod

我正在为HTC Doubleshot开发一个ROM,我在相机上遇到了一些麻烦(强行关闭)。特别是相机和大多数第三方相机(UCam Ultra相机没有)。

我有几个logcats(有趣的是从最新的第696行开始)的情况,我很难知道发生了什么。其他相机,如Google相机,也有相同的结果。

我的ROM是CarbonROM 4.4.4的一个版本,开发人员在构建Cyanogenmod 11时已经完成了成功的工作。所以我的清单已经分为我的github(joelmaxuel)和他的(EmmanuelU,KitKatDS):

<?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="android_device_htc_common" path="device/htc/common" revision="gingerbread" remote="DS" />

    <project path="device/htc/doubleshot" name="android_device_htc_doubleshot" remote="joelmaxuel" revision="kk" />
    <project path="device/htc/msm8660-common" name="android_device_htc_msm8660-common" remote="joelmaxuel" revision="kk" />
    <project path="vendor/htc/doubleshot" name="android_vendor_htc_doubleshot" remote="joelmaxuel" revision="kk" />
    <project path="kernel/htc/doubleshot" name="wild_kernel_htc_msm8660" remote="emmanuel" revision="android-msm-doubleshot-3.0-ion" />

    <remove-project name="CyanogenMod/android_hardware_libhardware_legacy" />
    <remove-project name="CarbonDev/android_frameworks_av" />
    <remove-project name="CarbonDev/android_frameworks_native" />
    <remove-project name="CarbonDev/android_packages_apps_Camera2" />
    <project name="android_hardware_libhardware_legacy" path="hardware/libhardware_legacy" revision="cm-11.0" remote="DS" />
    <project name="android_hardware_qcom_media-legacy" path="hardware/qcom/media-legacy" revision="cm-11.0-ion" remote="DS" />
    <project name="android_hardware_qcom_display-legacy" path="hardware/qcom/display-legacy" revision="cm-11.0-ion" remote="DS" />
    <project name="android_frameworks_av" path="frameworks/av" revision="cm-11.0" remote="DS" />
    <project name="android_packages_apps_Camera2" path="packages/apps/Camera2" revision="cm-11.0" remote="DS" />
    <project name="android_frameworks_native" path="frameworks/native" revision="kk" remote="joelmaxuel" />

</manifest>

我确定这是在我的BoardConfigCommon.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(我检查了frameworks_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 个答案:

答案 0 :(得分:0)

设备的相机实施认为您传入的设置值无效。

在所有其他相机记录之间看到实际投诉有点困难,但它在日志中:

E / QualcommCameraHardwareZSL(171):无效的对焦模式值:连续图片 E / QualcommCameraHardwareZSL(171):虚拟android :: status_t android :: QualcommCameraHardware :: setParameters(const android :: CameraParameters&amp;):6487,rc = -22

如果未在支持的AF模式列表中定义连续图像,则应用程序无效地尝试设置它。如果列出,则相机实施错误地拒绝它。