많은 안드로이드 사용자들은 TWRP나 ClockworkMod와 같은 커스텀 복구를 활용하여 롬이나 모드를 플래싱하거나, 기기 전체 백업 및 복원을 수행합니다. 또한, AROMA 파일 관리자를 통해 파일을 관리하기도 합니다. 대부분의 사용자는 복구 모드에서 스크린샷을 찍을 필요가 없지만, 블로거나 커스텀 복구 개발자, AROMA 기반 앱 개발자, 복구 테마 디자이너들은 종종 작업 중인 내용을 보여주기 위해 이 기능이 필요합니다. 이 글에서는 현재 사용 중인 커스텀 복구와 상관없이 안드로이드 기기가 복구 모드로 부팅되었을 때 스크린샷을 쉽게 찍는 방법을 소개합니다.
일반적으로 안드로이드로 부팅했을 때 사용하는 볼륨 작게 + 전원 버튼 조합은 복구 모드에서는 스크린샷을 찍을 때 작동하지 않습니다. 과거에는 안드로이드 SDK의 DDMS 도구가 유용했지만, 최근 업데이트 이후로는 더 이상 사용할 수 없습니다.
지금까지 알려진 유일한 해결 방법은 원시 프레임 버퍼 데이터를 수동으로 가져온 다음, ffmpeg 명령줄 도구를 사용하여 필요한 이미지를 얻는 것이었습니다. 하지만 이 방법은 모든 안드로이드 기기에 적용되는 범용적인 명령이 아니라는 심각한 단점이 있었습니다. 각기 다른 기기와 복구 환경은 프레임 버퍼에 대해 다른 픽셀 형식을 사용하며, 명령은 기기의 기본 해상도와 원시 이미지의 스트라이드 팩터를 고려하여 조정해야 했습니다. 복구 스크린샷 관련 가이드를 작성할 때, 이러한 매개변수를 파악하는 데 많은 시간을 낭비한 경험이 있었습니다.
이제 XDA 멤버인 makers_mark가 개발한 훌륭한 도구를 통해 이 모든 복잡한 과정을 간단하게 해결할 수 있습니다. 이 도구는 백그라운드에서 이러한 복잡성을 처리하여 사용자가 쉽게 스크린샷을 찍을 수 있도록 해줍니다.
복구 스크린샷 도구 소개
복구 스크린샷 도구는 ADB 및 ffmpeg를 사용하여 기기에서 원시 프레임 버퍼를 가져와 처리한 후 PNG 형식으로 스크린샷을 생성하는 스크립트입니다. 현재(글 작성 시점)는 Windows에서만 사용할 수 있습니다.
복구 스크린샷을 사용하기 전에, 기기에 대한 도구를 설정해야 합니다. 이제부터 그 과정을 살펴보겠습니다.
설정 과정
시작하기 전에 기기를 복구 모드로 재부팅하고 USB 케이블을 통해 컴퓨터에 연결하십시오. 필요한 드라이버도 설치되어 있어야 합니다.
복구 스크린샷 도구를 다운로드하고 압축을 푼 다음, 컴퓨터의 편리한 위치에 저장합니다. 그런 다음 폴더 내에 있는 RUNrs.bat 파일을 실행하여 도구를 시작합니다. 스크립트는 다음과 같은 옵션을 제공합니다.
여기서 첫 번째 옵션(1번)을 선택하여 설정을 시작합니다. 기기의 화면 크기(픽셀)를 입력하라는 메시지가 나타납니다. 가로 길이를 너비로 입력하고, 세로 길이를 높이로 입력해야 합니다.
복구 스크린샷 도구는 이제 기기에서 프레임 버퍼를 가져오고, ffmpeg를 사용하여 다양한 픽셀 형식으로 처리한 후, 처리된 PNG 파일을 도구를 추출한 폴더 내의 ‘Pixel_formats’ 폴더에 저장합니다.
Pixel_formats 폴더로 이동하여 생성된 모든 이미지를 확인하십시오. 대부분은 이상하게 보일 수 있지만, 이는 정상적인 현상입니다. 서로 다른 픽셀 형식을 사용하여 처리되었기 때문입니다. 여기서 찾아야 할 것은 정상적으로 보이는 이미지입니다. 이미지의 이름(픽셀 형식의 이름)을 기록해두고, 계속하려면 아무 키나 누르십시오.
올바른 이미지를 찾았다면, 1번을 눌러 설정을 완료합니다. 만약 이번에도 찾지 못했다면, 2번을 눌러 더 적게 사용되는 형식을 시도해 볼 수 있습니다. 이 경우, 동일한 폴더에서 추가된 수십 개의 새로운 이미지를 확인하고, 올바른 이미지를 찾으면 이름을 기록해 두십시오.
올바른 픽셀 형식을 찾았다면, 다음 화면에서 올바른 파일 이름에 표시된 그대로 정확하게 입력합니다(확장자 .PNG 제외). 예를 들어, Nexus 5를 사용하여 테스트했을 때 올바른 이미지는 rgb0.png였으므로 올바른 픽셀 형식은 rgb0입니다.
기기에 맞는 올바른 픽셀 형식을 입력하고 Enter 키를 누르면 설정이 완료됩니다. 이제 복구 스크린샷을 찍을 준비가 되었습니다. 설정은 저장되므로 다음 번에 동일한 기기를 사용할 때는 이 단계를 반복할 필요가 없습니다.
복구 모드에서 스크린샷 캡처
초기 설정이 완료되면 도구를 실행할 때마다 다음과 같은 옵션이 표시됩니다.
여기서 헷갈릴 수 있는 부분은 프레임 버퍼를 잡기 위한 세 가지 옵션이 있다는 것입니다. 안드로이드의 이중 프레임 버퍼 시스템의 작동 방식을 자세히 설명하는 것은 이 가이드의 범위를 벗어나므로, 매번 세 번째 옵션을 선택하는 것이 좋습니다. 이는 찾고 있는 이미지가 두 프레임 버퍼 중 하나에 있을 수 있기 때문입니다. 3번을 누르면 복구 스크린샷 도구가 두 개의 프레임 버퍼를 모두 가져와서 처리하기 시작합니다.
처리된 이미지 파일은 스크립트의 기본 폴더 내의 하위 폴더에 저장되며, 현재 날짜를 기반으로 이름이 지정됩니다. 내부 이미지 파일은 현재 시간과 프레임 버퍼(상단 또는 하단)에 따라 이름이 지정됩니다.
다른 기기의 스크린샷을 캡처하려는 경우, 도구를 다시 설정해야 할 수 있습니다. 기본 화면에서 4번을 눌러 설정을 재설정하고 다시 시작하십시오. 다섯 번째 옵션인 수동 모드는 기기를 복구 모드에 연결할 필요 없이 수동으로 설정을 지정하고 원시 이미지 파일을 처리하는 데 사용할 수 있습니다.
샘플 결과
다음은 스크립트를 사용하여 복구 모드에서 캡처한 몇 가지 스크린샷입니다. 첫 번째는 TWRP 복구의 홈 화면이고, 두 번째는 플래싱 진행 상황을 보여주며, 세 번째는 AROMA 파일 관리자입니다.
일반 사용자와 대부분의 고급 사용자에게는 복구 스크린샷이 필요하지 않겠지만, 이전에는 수동으로 프레임 버퍼를 가져와야 했던 저와 같은 사람들에게는 이 도구가 매우 유용할 것입니다. 사용자 지정 복구 또는 AROMA 스크립트를 검토할 때마다 ffmpeg 명령으로 원시 이미지를 처리해야 했기 때문입니다.