이 배경화면은 Android 기기의 부팅 루프를 일으키는 드문 버그를 유발합니다. 기기에서 배경화면을 사용하지 마세요. 그렇지 않으면 모든 데이터가 손실될 수 있습니다.
업데이트 2(2020년 8월 3일 @ 오후 3시 3분(ET)): Google은 2020년 8월 Android 보안 패치를 통해 이 버그를 수정하기 위해 Android를 업데이트했습니다. 자세한 내용은 하단에서 확인하실 수 있습니다.
업데이트 1(2020년 6월 4일 @ 오전 3시 12분(ET)): Google의 답변과 함께 "저주받은 배경화면"이 휴대폰을 충돌시키는 원인에 대한 새로운 설명이 나왔습니다. 자세한 내용을 보려면 아래로 스크롤하세요. 2020년 6월 1일에 게시된 기사는 아래에 보존되어 있습니다.
당신이 인터넷을 검색하고 있다고 상상해보십시오. 멋진 배경화면 그리고 그림 같은 풍경을 만나게 됩니다. 그것은 모든 것을 갖추고 있습니다. 울창한 녹색 숲, 작은 섬이 있는 깨끗한 호수, 배경에 눈 덮인 산, 그리고 틈 사이로 햇빛이 스며드는 두꺼운 구름. 즉시 이미지를 다운로드하고 휴대폰 배경화면으로 설정하면 붐이 터집니다! Android 휴대전화가 부팅 루프에 걸렸습니다. 그럴 것 같지 않습니까? 글쎄요, 이 특별한 배경화면은 사실입니다.
배경화면이 최근에 공유되었습니다. 트위터유명한 삼성 유출자 Ice Universe는 배경화면이 "휴대폰의 작동을 중단시킬 것입니다!"라고 주장했습니다. 경고에도 불구하고 여러 사용자는 배경화면이 실제로 휴대폰에서 어떤 작업을 수행했는지 확인하기 위해 배경화면을 다운로드했으며 다음과 같은 결과를 얻었습니다. 결과:
AOSP 기반의 수석 개발자인 Davide Bianco에 따르면 맞춤 ROM "POSP", 이 특정 배경화면은 Android에서 기본적으로 지원되는 sRGB 색상 공간 대신 RGB 색상 공간을 사용하기 때문에 일부 Android 장치에서 충돌을 일으킵니다. 비앙코는 패치를 제출했습니다 이 문제를 해결한 것으로 알려진 AOSP에 패치 설명에는 "사용자가 sRGB가 아닌 이미지를 배경화면으로 설정하려고 하면 문제가 발생합니다. 변수 y 값이 히스토그램 경계보다 높아서 SysUI가 충돌하게 됩니다. 한 가지 가능한 수정 방법은 y 값을 항상 256보다 작게 제한하는 것입니다." Bianco와 함께 두 명의 개발자, XDA Senior Member
배드데몬 및 XDA 인정 개발자 luca020400, 인기 있는 LineageOS 맞춤형 ROM 팀에서도 문제에 대한 고유한 솔루션을 제시했습니다. 다음을 통해 LineageOS Gerrit에서 패치 설명을 확인할 수 있습니다. 이 링크 그리고 이 링크.어떤 상황에서도 이 이미지를 배경화면으로 사용하지 않는 것이 좋습니다. 이미 사용했고 장치가 부트 루프에 걸린 경우 장치를 복구할 수 있는 방법에 대한 아래 지침을 확인하세요.
ㅏ 보고하다 나인투파이브구글 이 문제에 대해 추가로 문제는 Android 10 이하를 실행하는 기기에만 국한되며 Android 10 이하를 실행하는 기기에는 영향을 미치지 않는다는 사실이 밝혀졌습니다. 안드로이드 11 개발자 미리보기. 이는 Android 11에서는 시스템이 지원되지 않는 경우 색상 공간을 변환하지만 Android 10에서는 그렇지 않기 때문입니다. 이는 이 특정 이미지에는 문제가 없으며 RGB 색상 공간을 사용하는 다른 이미지로 인해 발생할 수 있음을 의미합니다.
이 문제가 모든 Android 기기에 영향을 미치는 것은 아니지만 휴대전화에서 배경화면을 사용하지 않는 것이 좋습니다. 어쨌든 시도하는 경우 완전히 재설정하거나 안전 모드로 들어가서 배경 화면을 변경하여 장치를 복구할 수 있습니다. 하지만 일부 사용자가 계속해서 트위터 앞서 언급한 방법을 사용하여 기기를 복구할 수 없는 경우 정확한 이미지를 배경화면으로 사용하지 않는 것이 가장 좋습니다. 배경화면이 정말 마음에 든다면 이미지의 스크린샷을 찍어 대신 배경화면으로 사용하세요.
업데이트 1: 새로운 설명, Google의 응답
XDA 선임 회원이 설명한 대로 버그의 원인을 확장합니다. 배드데몬 및 XDA 인정 개발자 luca020400, "저주받은" 배경화면은 "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126"(이것은 색상 공간의 전체 이름이며 Skia는 Google이 만든 2D 그래픽 라이브러리.) 대조적으로 대부분의 다른 배경 화면 이미지는 "sRGB"라는 색 공간으로 인코딩됩니다.
Android 버전 10 이하에서는 개발자가 달리 지정하지 않는 한 모든 이미지가 sRGB로 변환됩니다. 이미지를 sRGB로 변환할 때 발생할 수 있는 드문 버그가 있습니다. 여기서 각 픽셀의 "휘도" 값을 계산하는 코드가 최대 제한인 255를 초과합니다.
휘도는 다음 공식을 사용하여 계산됩니다.
휘도 = .2126f * r + .7152f * g + .0722f * b
여기서 "r", "g", "b"는 0부터 255까지의 8비트 값으로 표현되는 빨간색, 녹색, 파란색 색상 값입니다.
이 계산의 문제점은 각 부분이 항상 최종 합계 전에 반올림된다는 것입니다. sRGB에서 이미지를 변환하는 과정에서 "저주받은" 배경화면의 픽셀 중 하나 그레이스케일에는 다음과 같은 RGB 값이 있습니다: 255, 255, 243. 위 방정식에 연결하면 다음과 같습니다. 좋다:
r: .2126 * 255 = 54.213 => 55
g: .7152 * 255 = 182.376 => 183
b: .0722 * 255 = 18.411 => 19
휘도 = r+ g + b = 257
이 값은 최대값을 초과하므로 SystemUI와 기본적으로 전체 OS가 충돌하게 됩니다. 반올림 오류와 색 공간 변환 오류가 결합되어 있기 때문에 매우 구체적인 버그입니다.
이미지의 'Skia' 색상 공간은 기본적으로 sRGB로 변환되지 않으므로 이 버그는 Android 11에 영향을 미치지 않습니다. 따라서 Android 11에서는 이러한 색공간 변환 오류와 반올림 오류가 발생하지 않습니다.
하지만 Google Android Toolkit 팀의 Romain Guy는 이 문제의 근본 원인을 믿습니다. 이는 휘도가 계산되는 방식에만 해당되며 색 공간 변환 문제에는 해당되지 않습니다. 구글은 자체적으로 내부 테스트를 진행하고 있으며, 그래서 우리는 그들이 곧 무엇을 생각해낼지 보게 될 것입니다.
이 설명은 "저주받은" 배경화면의 픽셀 중 하나가 특정 휘도 반올림 계산 오류의 원인임을 명확히 하기 위해 업데이트되었습니다. 또한 반올림은 휘도 계산의 마지막 단계가 아닌 각 단계에서 발생한다는 점을 명확히 했습니다.
업데이트 2: 2020년 8월 패치에서 수정되었습니다.
8월의 Android 보안 패치 방금 라이브 시작했어및 XDA 인정 개발자 luca020400 발견했다 AOSP에서 커밋 이 벽지 버그에 대한 수정 사항을 병합합니다.