我正在爲HTC Doubleshot開發ROM,並且我遇到了一些相機故障(它強制關閉)。尤其是股票相機和大多數第三方相機(UCam Ultra Camera沒有)。E/AndroidRuntime(2671):java.lang.RuntimeException:setParameters失敗
我有幾個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代碼,文件攝像機/ 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
我不知道接下來要檢查什麼。有什麼建議麼?
你有沒有偶然發現這個呢?這聽起來類似:http://stackoverflow.com/questions/3890381/camera-setparameters-failed-in-android –
我做到了。感謝您再次提醒我注意。我最初解僱它是因爲它更多的是相機設計,我的問題是框架設計(或者更合適的設備樹設計)。我可以(理論上)在股票相機2應用程序中禁用一堆東西(或修改以適應我的需要)以使其工作,但這不能解決第三方相機(如谷歌相機,也是FC的)。 –