Burt.K

코코아를 좋아하는 프로그래머입니다 ;)

Android Camera’s Bug

안드로이드 카메라에서 포커스 영역을 가져오는 메서드가 있다. 그러나 API 19(?) 이하에서는 NumberFormatException 예외가 발생하며 앱이 크래쉬 된다. 예외를 잡아서 처리할 수도 없고 난감하다.

int maxNumFocusArea = parameters.getMaxNumFocusAreas();
if(maxNumFocusArea > 0) {
    for (Camera.Area area : parameters.getFocusAreas()) {
        line(cameraAreaToString(area));
    }
}

버그의 위치는 아래와 같다.

I may have found the source of this bug in
https://android.googlesource.com/platform/hardware/qcom/camera/+/master/QCamera2/HAL/QCameraParameters.cpp

at line 524
#define DEFAULT_CAMERA_AREA "(0, 0, 0, 0, 0)"

Expected seems to be "(0,0,0,0,0)" which leads to the NumberFormatException when parsing an entry " 0" to an int in java.
← Direct access to OpenGL texture memory
Javah를 AndroidStudio에서 사용하기 →